4.3-1
假设对
∀m≤n0,∃c≥0,
使得:
T(m)≤cm2
则有:
T(n−1)≤c(n−1)2
带入迭代式可得:
T(n)≤c(n−1)2+n=cn2−2cn+c+n
现在我们令 −2cn+c+n≤0 ,可得:
c≥n2n+1
故对于 ∀n>0 , 可令 c=1 ,使得
T(n)≤cn2−2cn+c+n≤n2=cn2
故 T(n)=O(n2)
4.3-2
假设对于
∀m<n,∃c>0
,使得:
T(n)≤clg(n)
则可以假设,对于 ∀m<n,∃c>0 ,使得
T(⌈n/2⌉)≤clg(⌈n/2⌉)
带入迭代式可得:
T(n)≤clg(⌈n/2⌉)+1
当 n≥2 时, 1≤⌈n/2⌉≤23n ,故有:
T(n)≤clg23n+1=clgn+clg23+1
则当 c≥1lg23 时, T(n)≤clgn.
故
T(n)=O(lgn)
4.3-3
假设对于
∀m<n,∃c>0,使得:T(m)≥cmlgm
则有:
T(⌊n/2⌋)≥c⌊n/2⌋lg⌊n/2⌋
带入迭代式可得:
T(n)≥2c⌊n/2⌋lg⌊n/2⌋+n≥2c⋅n3lgn3+n=23cnlgn−23cnlg3+n
则对 ∀0<c<32lg3 ,
T(n)≥23cnlgn
故 T(n)=Ω(nlgn)
故 T(n)=Θ(nlgn)
4.3-4
将假设换为 T(n)≤cnlgn+d,其中d≥0 即可
4.3-5
T(n)=
{Θ(1),T(⌈n/2⌉)+T(⌊n/2⌋)+Θ(n),若n=1若n>1
现在需证 ∀m<n,∃c1,c2>0 ,使得:
c2mlgm≤T(m)≤c1mlgn
带入迭代式可得:
T(n)≤c1⌈n/2⌉lg⌈n/2⌉+c1⌊n/2⌋lg⌊n/2⌋+Θ(n)≤c1⋅23nlg23n+c1⋅23nlg23n+Θ(n)=c1⋅43nlg23n+Θ(n)=43c1nlgn+c143nlg23+Θ(n)=43c1nlgn
T(n)≥c2⌈n/2⌉lg⌈n/2⌉+c2⌊n/2⌋lg⌊n/2⌋+Θ(n)≥c2⋅13nlg13n+c2⋅13nlg13n+Θ(n)=c2⋅23nlg13n+Θ(n)=23c2nlgn−c223nlg3+Θ(n)=23c2nlgn
故 T(n)=O(n),且T(n)=Ω(n)
故 T(n)=Θ(n)
4.3-6
假设
∀m<n,∃c>0
,使得
T(m)≤cmlgm
则
T(⌊n/2⌋)≤c(⌊n/2⌋+17)lg(⌊n/2⌋+17)
则
T(n)≤2c(⌊n/2⌋+17)lg(⌊n/2⌋+17)+n≤2c(n/2+17)lg(n/2+17)+n
当 n≥102 时
n/2+17≥23n
则
T(n)≤2c⋅23nlg23n+n=43cnlg(n)+43cnlg23+n
则当 c≥10 时
T(n)≤43cnlgn
4.3-7
将
T(n)≤cnlog34
代入可得:
T(n)≤4c(n3)log34+n
无法得到 T(n)≤cnlog34
设
∀m<n,∃c>0
,使得
T(m)≤cmlog34−dm
则 T(n/3)≤c(n3)log34−d⋅n3
代入迭代式可得
T(m)≤4c(n3)log34−43dn+n≤4cnlog34)−34dn+n=4cnlog34−(43d−1)n
则当 d>3 时 T(n)≤4cnlog34−dn
由于 log34>1 ,故 T(n)=Θ(nlog34)
4.3-8
同上可证
4.3-9
令
m=logn
,则
n=2m
代入原递归式中:
T(2m)=3T(2m/2)+m
令 S(m)=T(2m) ,则原式转化为
S(m)=3S(m/2)+m(1)
现假设 S(m)=Θ(mlgm) ,不妨设 ∀m<n,∃c1,c2>0 ,使得
c2mlgm≤S(m)≤c1mlgm
则 c2m2lgm2≤S(m2)≤c1m2lgm2
代入 (1) 式中,有
32c2mlgm−32c2mlg2+n≤32c2mlgm2+m≤S(m)≤32c1mlgm2+m≤32c1mlgm−32c1mlg2+m
则当 c1≥23log2,c2≤23lg2 时,
32c2mlgm≤S(m)≤32c1mlgm
即 S(m)=Θ(mlgm)
将 m=logn,S(m)=T(2m) 代入上式:
T(n)=T(2m)=Θ(logn⋅loglogn)