我想在平均情况下找到以下算法的成本:
Quicksort(A,p,r)
if p<r then
q<- partition(A,p,r)
Quicksort(A,p,q-1)
Quicksort(A,q+1,r)
我们认为我们幸运 - 不幸交替。
L:幸运,U:不幸
为什么这两种关系成立:
L(N)= 2U(N / 2)+Θ(n)的
U(N)= L(N-1)+Θ(n)的
?
答案 0 :(得分:2)
首先,请注意,选择幸运和不幸的枢轴选择意味着每当您做出不幸的选择时,剩余的子问题将通过幸运的枢轴选择来解决,反之亦然。
其次,请注意,幸运的枢轴选择会将输入分成两个大小相同的子问题,每个子问题的大小都是原始的一半。另一方面,一个不吉利的选择留下了一个与原始尺寸几乎相同的子问题(因为输入中的每个项目都大于枢轴项目,或者更小)。
从这两个观察结果中可以明显看出为什么幸运子问题(L(n))的成本和不幸的子问题(U(N))的成本如图所示。