算法导论习题—主方法求渐进紧确界递归树方法
Posted 之墨_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法导论习题—主方法求渐进紧确界递归树方法相关的知识,希望对你有一定的参考价值。
算法导论习题—主方法求渐进紧确界、递归树方法
- 4.5-1
- a. T ( n ) = 2 T ( n / 4 ) + 1 T ( n ) = 2 T ( n / 4 ) + 1 T(n)=2T(n/4)+1
- b. T ( n ) = 2 T ( n / 4 ) + n T ( n ) = 2 T ( n / 4 ) +\\sqrtn T(n)=2T(n/4)+n
- c. T ( n ) = 2 T ( n / 4 ) + n T ( n ) = 2 T ( n / 4 ) + n T(n)=2T(n/4)+n
- d. T ( n ) = 2 T ( n / 4 ) + n 2 T ( n ) = 2T( n / 4 ) + n ^2 T(n)=2T(n/4)+n2
- 4.5-4
- 主定理另一种形式
4.5-1
对下列递归式,使用主方法求出渐进紧确界
解:
a. T ( n ) = 2 T ( n / 4 ) + 1 T ( n ) = 2 T ( n / 4 ) + 1 T(n)=2T(n/4)+1
根据主定理
a
=
2
,
b
=
4
,
f
(
n
)
=
1
,
n
log
b
a
=
n
log
4
2
=
n
0.5
a=2,b=4,f(n)=1,n^\\log_ba=n^\\log_42=n^0.5
a=2,b=4,f(n)=1,nlogba=nlog42=n0.5
对于常数
ϵ
=
0.5
\\epsilon=0.5
ϵ=0.5,有
f
(
n
)
=
1
=
O
(
n
log
b
a
−
ϵ
)
=
O
(
n
0.5
−
0.5
)
=
O
(
1
)
f(n)=1=O(n^\\log_ba-\\epsilon)=O(n^0.5-0.5)=O(1)
f(n)=1=O(nlogba−ϵ)=O(n0.5−0.5)=O(1)
符合主定理情况1,所以 T ( n ) = Θ ( n log b a ) = Θ ( n ) T(n)=\\Theta(n^\\log_ba)=\\Theta(\\sqrtn) T(n)=Θ(nlogba)=Θ(n)。
b. T ( n ) = 2 T ( n / 4 ) + n T ( n ) = 2 T ( n / 4 ) +\\sqrtn T(n)=2T(n/4)+n
根据主定理
a
=
2
,
b
=
4
,
f
(
n
)
=
n
,
n
log
b
a
=
n
log
4
2
=
n
a=2,b=4,f(n)=\\sqrtn,n^\\log_ba=n^\\log_42=\\sqrtn
a=2,b=4,f(n)=n,nlogba=nlog42=n
所以
f
(
n
)
=
n
=
Θ
(
n
log
b
a
)
=
Θ
(
n
)
f(n)=\\sqrtn=\\Theta(n^\\log_ba)=\\Theta(\\sqrtn)
f(n)=n=Θ(nlogba)=Θ(n)
符合主定理情况2,所以
T
(
n
)
=
Θ
(
n
log
b
a
lg
n
)
=
Θ
(
n
lg
n
)
T(n)=\\Theta(n^\\log_ba\\lgn)=\\Theta(\\sqrtn\\lgn)
T(n)=Θ(nlogbalgn)=Θ(nlgn)。
c. T ( n ) = 2 T ( n / 4 ) + n T ( n ) = 2 T ( n / 4 ) + n T(n)=2T(n/4)+n
根据主定理
a
=
2
,
b
=
4
,
f
(
n
)
=
n
,
n
log
b
a
=
n
log
4
2
=
n
a=2,b=4,f(n)=n,n^\\log_ba=n^\\log_42=\\sqrtn
a=2,b=4,f(n)=n,nlogba=nlog42=n
对于常数
ϵ
=
1
2
\\epsilon=\\frac12
ϵ=21,有
f
(
n
)
=
n
=
Ω
(
n
log
b
a
+
ϵ
)
=
Ω
(
n
)
f(n)=n=\\Omega(n^\\log_ba+\\epsilon)=\\Omega(n)
f(n)=n=Ω(nlogba+ϵ)=Ω(n),且对于
1
2
≤
c
<
1
\\frac12\\leqc\\lt1
21≤以上是关于算法导论习题—主方法求渐进紧确界递归树方法的主要内容,如果未能解决你的问题,请参考以下文章