根据我的说明,我们找到了快速排序的平均情况的成本,如:
我们认为我们幸运 - 不幸交替。 L:幸运的U:不幸
然后,这两个关系:
L(n)= 2U(n / 2)+Θ(n),
U(n)= L(n-1)+Θ(n)
因此,L(n)=Θ(n lg n)
在我的笔记的另一页,平均案例的费用由以下关系给出:
T(n)= min_ {1< = q< = n} {T(q)+ T(n-q)} +Θ(n)
那么,这两个关系是等同还是有区别?
答案 0 :(得分:2)
警告:这不是一个真正的答案,而是一个很长的评论。
你错过了第一对关系(L(n)= ...和U(n)= ...)和结论(对于这种特殊情况---即交替)的几个步骤幸运的是,不幸的是 - 表现为O(n lg n))。通过填写这些步骤,您可以获得一种“直观”的论证,说明为什么快速排序的平均案例性能为Θ(n lg n)。也就是说,我们可能期望像我们的一半支柱那样“好”而一半是“坏”,并且在极端情况下,其中一半的枢轴“尽可能好”而另一半则“尽可能地差” ,表现仍然是O(n lg n)(但可能与实际平均情况有不同的常数)。
您给出的第二个关系(即最小化T(q)+ T(n-q)超过q)看起来更像是对我的最佳案例分析的开始,而不是平均案例分析。为此,我希望更像是:
T(n)=(1 / n)sum_ {i = 1} ^ {n-1}(T(n-i)+ T(i))+Θ(n)
可能值得谷歌搜索一些更多的分析...