7.2-1
这里只证明上界,下界可类似证明。
猜测
T(n)≤cn2
T(n)=T(n−1)+dn≤c(n−1)2+dn=cn2−2cn+c+dn=cn2+(d−2c)n+c≤cn2(2c>d,n≥c/(2c−d))
综合上下界有 T(n)=Θ(n2)
7.2-2
由于每次都返回
r
,因此划分十分不平衡,时间复杂度为
7.2-3
类似7.2-2,每次划分十分不平衡,时间复杂度为
Θ(n2)
。
7.2-4
显然,排序越好,对插入排序也好,对快排越差,原理类似于7.2-2和7.2-3,所以INSERT_SORT
性能往往比QUICKSORT
好。
7.2-5
每次迭代元素个数都从
n
变为
同理得到最大深度
log1/(1−α)n=−lgnlg(1−α)
。
7.2-6
要产生一个比
1−α:α
更好的划分,选择 pivot 时要么划分比
αn
更多的元素,要么划分比
(1−α)n
更少的元素。即
αn<x<(1−α)n
,此概率为
(1−α)n−αnn=1−2α
。