4.5-1
a)
a=2,b=4,f(n)=1
。 又
nlogba=nlog42=n−−√
。由于
f(n)=O(nlog42−ε)
,其中
ε=1/2
。应用主定理 1 得:
T(n)=Θ(n−−√)
。
b) a=2,b=4,f(n)=n−−√ 。又 nlogba=nlog42=n−−√ 。由于 f(n)=Θ(nlog42) 。应用主定理 2 得: T(n)=Θ(n−−√lgn) 。
c) a=2,b=4,f(n)=n 。又 nlogba=nlog42=n−−√ 。由于 f(n)=Ω(nlog42+ε) ,其中 ε=1/2 。且存在 1/2≤c≤1,af(n/b)=2f(n/4)=n2≤cn ,应用主定理 3 得: T(n)=Θ(n) 。
d) a=2,b=4,f(n)=n2 。又 nlogba=nlog42=n−−√ 。由于 f(n)=Ω(nlog42+ε) ,其中 ε=3/2 。且存在 1/8≤c≤1,af(n/b)=2f(n/4)=n28≤cn ,应用主定理 3 得: T(n)=Θ(n2) 。
4.5-2
nlogba=nlog4a,f(n)=n2
。
1) 若
a<16
,应用主定理 3 有
T(n)=Θ(n2)
。快于 Strassen 算法。
2)若
a=16
,应用主定理 2 有
T(n)=Θ(n2lgn)
,快于 Strassen 算法。
3)若
a>16
,
log4a<lg7⇒a<lg72=49
。此时快于 Strassen 算法。
综上,
a
最大为 48。
4.5-3
4.5-4
a=4,b=2,f(n)=n2lgn,nlogba=nlog24=n2
。由于
f(n)=n2lgn≠O(n2−ϵ)≠Ω(n2+ϵ)
,因此不可以应用主定理。
应用递归树有:
4.5-5
设有
a=1,b=2,f(n)=n(2−cosn),nlogba=1
设存在
c<1
使得
af(n/b)≤cn
即
f(n/2)=n2(2−cosn2)≤cn(2−cosn)
,可以有:
由于 mincos(n/2)=−1 ,也就是说 c≥3/2 。又由于假设 c<1 ,从而矛盾。
注:4.6节带有星号,题目答案省略。