算法导论第三版习题8.1

来源:互联网 发布:c语言简单程序实例 编辑:程序博客网 时间:2024/05/29 15:35

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)

0 0
原创粉丝点击