最小深度為n−
1 ,就像插入排序最好的情況一樣,對已經排序好的序列排列的情況。∑k
=1nl
gk≤∑
k=1n
lgn=
nlgn
所以,lg
(n!)
=o(n
lgn)
. ∑k=
1nlg
k=∑k
=1n/
2lgk
+∑k=
n/2+
1nlg
k≥∑k
=n/2
+1nl
gk≥∑
k=n/
2+1n
lg(n
/2)=
n2lg
n2=n
2lgn
−n2l
g2所以lg
(n!)
=ω(n
lgn)
. 故lg
(n!)
=θ(n
lgn)
.對於給定的
m 種輸入,假設其樹高為
h,則都有m≤
2h故都有h≥
lgm 。當m=
n!2 時,h≥
lgn!
2=ω(
nlgn
) 當m
=n!n
時,h≥l
gn!n
=lg(
n−1)
!=ω(
nlgn
) 當m
=n!2
n 時,h≥
lgn!
2n=l
g(n!
)−nl
g2所以都不能再線性時間內達到。
一共有(k!
)n/k
種排列,和定理8.1的證明一樣: (k
!)n/
k≤l≤
2h則 h≥
lg(k
!)n/
k=nk
lg(k
!)≥n
k⋅k2
lgk2
=ω(n
lgk)
演算法導論第三版習題5 2
正好僱傭一次說明第一次僱傭的就是所有應聘者中最好的,所以概率為1n 正好僱傭 n 次說明所有應聘者按優秀從低到高依次出現,第一位是最差的,概率為1n 第二位其次,概率為1n 1,所以整體概率為1n 正好僱傭兩次,說明第乙個應聘者不是最好的,概率為n 1n,第二個應聘者是最好的,概率為1n 1,所以概...
演算法導論第三版習題5 3
在進入迴圈前,先將在整個陣列中隨機選擇乙個數至於a 1 即可 permute in place a 1 n a.length 2 swap a 1 with a random 1,n 3 for i 2 to n 4 swap a i with a random i,n 第二步其概率為1n 後面一樣...
演算法導論第三版習題6 3
a a.leng th 9 故從i a.l engt h 2 4開始呼叫max heapify a,i a 4 9 8 故交換a 4 和a 8 得到新的序列a1 b 接下來呼叫max heapify a,3 a 7 3 6 故交換a 3 和a 6 得到a2 c 第三步呼叫max heapify a,...