递归式(第四章)

主定理:
设a>=1和b>1位常数,设f(n)为一个函数,T(n)由递归式 T(n)=aT(n/b)+f(n) 对非负整数定义,其中n/b指n/b向下或者向上取整。
那么T(n)可能有如下的渐进界:
若对于某常数 ε>0,有f(n)=O(n^logb(a-ε)) 则T(n)=Θ(n^logba);
若f(n)=Θ(nlogba),则T(n)=Θ((nlogba)*lgn);
若对于某常数 ε>0,有f(n)=Ω(n^logb(a+ε)) ,对常数c<1与所有足够大的n,有af(n/b)<=cf(n),则T(n)=Θ(f(n)).

递归树中每个节点都代表递归函数调用集合中一个子问题的代价。每一层的代价之和相加之后是总代价。递归树最适合用来产生猜测,然后用代换法加以验证。
子问题的大小将会随着离树根越来越远而变得越来越小,最终到达一个边界条件。

用代换法(用所猜测的值代替函数的解)解递归式需要两个步骤:
猜测解的形式
用数学归纳法找出使解真正有效的常数
代换法能够用来确定一个递归式的上界或下界。

猜测法:
试探法,找类似解
先证明递归的较大范围的上下界,然后缩小不确定性

注意:
有的时候我们能够猜出递归解的渐进界,但是却会在归纳证明的时候出现一点问题,通常问题出在归纳假设不够强,无法确定其准确的渐进界。遇到这种情况的解法是:去掉一个低阶项来修改所猜测的界,以顺利进行。
避免没有证明归纳假设的正确性而直接的证明最后的结果
解答的过程中应该善于用改变变量的方式解熟悉的递归式,简化运算。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值