算法导论第三版习题8.1

8.1-1

最小深度为 n1 ,就像插入排序最好的情况一样,对已经排序好的序列排列的情况。

8.1-2

k=1nlgkk=1nlgn=nlgn

所以, lg(n!)=O(nlgn) .
k=1nlgk=k=1n/2lgk+k=n/2+1nlgkk=n/2+1nlgkk=n/2+1nlg(n/2)=n2lgn2=n2lgnn2lg2

所以 lg(n!)=Ω(nlgn) .
lg(n!)=Θ(nlgn) .

8.1-3

对于给定的 m 种输入,假设其树高为 h ,则都有

m2h

故都有 hlgm 。当 m=n!2 时,
hlgn!2=Ω(nlgn)

m=n!n 时,
hlgn!n=lg(n1)!=Ω(nlgn)

m=n!2n 时,
hlgn!2n=lg(n!)nlg2

所以都不能再线性时间内达到。

8.1-4

一共有 (k!)n/k 种排列,和定理8.1的证明一样:

(k!)n/kl2h


hlg(k!)n/k=nklg(k!)nkk2lgk2=Ω(nlgk)

你可能感兴趣的:(算法)