算法设计与分析期末复习递归方程

递归方程

递归方程

解递归方程的方法

  1. 递归树(Recursion tree)
  2. 替代法(Substitution method)
  3. Master方法(Master method)

递归树

递归树实例1

T ( n ) = 2 T ( n 2 ) + c n T(n) = 2T(\frac{n}{2}) + cn T(n)=2T(2n)+cn, 其中 c > 0 为常数,且 n = 2 h n=2^h n=2h

在这里插入图片描述 n ≠ 2 h n\neq2^h n=2h时,即满足 2 h < n < 2 h + 1 2^h<n<2^{h+1} 2h<n<2h+1,则 n = Θ ( 2 h ) n=Θ(2^h) n=Θ(2h), h = Θ ( l o g n ) h=Θ(logn) h=Θ(logn)
所以 T ( 2 h ) ≤ T ( n ) ≤ T ( 2 h + 1 ) T(2^h)≤ T(n) ≤ T(2^{h+1}) T(2h)T(n)T(2h+1)
所以 Θ ( h 2 h ) ≤ T ( n ) ≤ Θ ( ( h + 1 ) 2 h + 1 ) Θ(h2^h)≤T(n)≤Θ((h+1)2^{h+1}) Θ(h2h)T(n)Θ((h+1)2h+1)
Θ ( ( h + 1 ) 2 h + 1 ) = Θ ( h 2 h + 1 + 2 h + 1 ) = Θ ( h 2 h + 1 ) = Θ ( h 2 h ) Θ((h+1)2^{h+1})=Θ(h2^{h+1}+2^{h+1})=Θ(h2^{h+1})=Θ(h2^h) Θ((h+1)2h+1)=Θ(h2h+1+2h+1)=Θ(h2h+1)=Θ(h2h)
所以 Θ ( h 2 h ) ≤ T ( n ) ≤ Θ ( h 2 h ) Θ(h2^h)≤T(n)≤Θ(h2^{h}) Θ(h2h)T(n)Θ(h2h),即 T ( n ) = Θ ( h 2 h ) = Θ ( n l o g n ) T(n)=Θ(h2^h)=Θ(nlogn) T(n)=Θ(h2h)=Θ(nlogn)
综上所述,T(n) = 2T(n/2) + cn的解始终为 T ( n ) = Θ ( n l o g n ) T(n)=Θ(nlogn) T(n)=Θ(nlogn)

递归树等价于迭代展开

T ( n ) = 2 T ( n 2 ) + c n T(n) = 2T(\frac{n}{2}) + cn T(n)=2T(2n)+cn, 其中 c > 0 为常数,且 n = 2 h n=2^h n=2h
T ( n ) = 2 T ( n 2 ) + c n T(n)=2T(\frac{n}{2})+cn T(n)=2T(2n)+cn
= 2 ( 2 T ( n 4 ) ) + c ( n 2 ) ) + c n = 2 2 T ( n 4 ) + c n + c n =2(2T(\frac{n}{4}))+c(\frac{n}{2}))+cn=2^2T(\frac{n}{4})+cn+cn =2(2T(4n))+c(2n))+cn=22T(<

  • 1
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值