8.1-1
最小深度为 n−1 ,就像插入排序最好的情况一样,对已经排序好的序列排列的情况。
8.1-2
∑k=1nlgk≤∑k=1nlgn=nlgn
所以, lg(n!)=O(nlgn) .
∑k=1nlgk=∑k=1n/2lgk+∑k=n/2+1nlgk≥∑k=n/2+1nlgk≥∑k=n/2+1nlg(n/2)=n2lgn2=n2lgn−n2lg2
所以 lg(n!)=Ω(nlgn) .
故 lg(n!)=Θ(nlgn) .
8.1-3
对于给定的
m
种输入,假设其树高为
m≤2h
故都有 h≥lgm 。当 m=n!2 时,
h≥lgn!2=Ω(nlgn)
当 m=n!n 时,
h≥lgn!n=lg(n−1)!=Ω(nlgn)
当 m=n!2n 时,
h≥lgn!2n=lg(n!)−nlg2
所以都不能再线性时间内达到。
8.1-4
一共有
(k!)n/k
种排列,和定理8.1的证明一样:
(k!)n/k≤l≤2h
则
h≥lg(k!)n/k=nklg(k!)≥nk⋅k2lgk2=Ω(nlgk)