Java 快速排序分析

Java 快速排序分析,java,quicksort,Java,Quicksort,我制作了一个快速排序程序,可以在广泛的输入范围内对其进行测试。在获得所有数据后,我绘制了它,这是我得到的曲线。这是正确的吗?我还可以从图表中推断出什么? 它是nlog(n)时间复杂度。因此,当您绘制nlog(n)时,应该是这样的图形: 所以我认为你是对的。为什么X标度是等比的?我只是不断地将102400乘以2。我认为这不会有任何区别。我错了吗?Y标度是线性的,所以X标度应该使用步骤102400(102400、204800、307200等)。谢谢,这很轻松。还有一件事,如果我实施随机快速排序,图

我制作了一个快速排序程序,可以在广泛的输入范围内对其进行测试。在获得所有数据后,我绘制了它,这是我得到的曲线。这是正确的吗?我还可以从图表中推断出什么? 它是
nlog(n)
时间复杂度。因此,当您绘制
nlog(n)
时,应该是这样的图形:


所以我认为你是对的。

为什么X标度是等比的?我只是不断地将102400乘以2。我认为这不会有任何区别。我错了吗?Y标度是线性的,所以X标度应该使用步骤102400(102400、204800、307200等)。谢谢,这很轻松。还有一件事,如果我实施随机快速排序,图形会有多大的不同?请记住,您是在测量最坏情况下的时间复杂度。理论上,QS和RQS在最坏情况下的时间复杂度都是
nlog(n)
,它们的图应该是相似的。但在现实世界中,它们的图应该介于最坏情况和最佳情况的时间复杂度之间。因此,它更像是平均案例时间复杂性: