演算法導論第三版習題8 1

2021-07-10 05:52:33 字數 1047 閱讀 3330

最小深度為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,...