递归式求解-主方法

Recursion-tree Master Method

递归树表达式

T ( n ) = a T ( n / b ) + f ( n ) T(n) = aT(n/b) + f(n) T(n)=aT(n/b)+f(n)

其中, a > = 1 , b > 1 a >= 1, b > 1 a>=1,b>1, f ( n ) f(n) f(n)渐进趋正, 即由渐进分析可知, 存在某个 n 0 > 0 n_0 > 0 n0>0, 使得当 n > n 0 n > n_0 n>n0时, f ( n ) > 0 f(n)>0 f(n)>0.

比较 f ( n ) f(n) f(n) n log ⁡ b a n^{\log_b{a}} nlogba的大小, 可分为三种情况

case 1

f ( n ) = O ( n log ⁡ b a − ϵ ) f(n) = O(n^{\log_b{a}} - \epsilon) f(n)=O(nlogbaϵ), for some ϵ > 0 \epsilon > 0 ϵ>0

结论

T ( n ) = Θ ( n log ⁡ b a ) T(n) = \Theta(n^{\log_b{a}}) T(n)=Θ(nlogba).

case 2

f ( n ) = Θ ( n log ⁡ b a ⋅ lg ⁡ k n ) f(n) = \Theta(n^{\log_b{a}} \cdot \lg^{k}n) f(n)=Θ(nlogbalgkn), for some k > = 0 k >= 0 k>=0

结论

T ( n ) = Θ ( n log ⁡ b a ⋅ lg ⁡ k + 1 n ) T(n) = \Theta(n^{\log_b{a}} \cdot \lg^{k+1}n) T(n)=Θ(nlogbalgk+1n).

case 3

f ( n ) = Ω ( n log ⁡ b a + ϵ ) f(n) = \Omega(n^{\log_b{a}} + \epsilon) f(n)=Ω(nlogba+ϵ), for some ϵ > 0 \epsilon > 0 ϵ>0 a n d and and
             a f ( n / b ) < = ( 1 − ϵ ′ ) ⋅ f ( n ) af(n/b) <= (1- \epsilon^{'} ) \cdot f(n) af(n/b)<=(1ϵ)f(n) for some ϵ ′ > 0 \epsilon^{'} > 0 ϵ>0

结论

T ( n ) = Θ ( f ( n ) T(n) = \Theta(f(n) T(n)=Θ(f(n).

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值