递归算法的递归式及其求解方法

渐进符号的学习中我们可以通过将一个基本算法的运行时间即其基本步骤执行次数表示为问题规模的函数进而求出运行时间的一个渐近紧确解,但是如果在算法中存在递归的情况时我们发现很难写出这样的一个多项式用来准确描述问题规模与基本步骤的次数的关系,这时候,递归式就显得很有用处;
递归式,就是用来描述递归算法运行时间的一个等式或者不等式,它通过更小的输入上的函数值(即下一层递归调用的时间代价)来描述本层递归的时间复杂度:
T(n)=aT( nb n b )+f(n)
一:代入法
猜测一个界,然后用数学归纳法证明解是正确的;(可用递归树产生的结果作为猜测的渐近界来加以证明)
二,递归树法
将递归式转化为一个树,其节点表示单一子问题的代价,子问题对应某次递归函数的调用;然后采用边界和技术来求解递归式;
例如,递归式
T(n)=3T( n4 n 4 )+ Θ Θ ( n2 n 2 )由于舍入对于求解递归式是没有影响的,因此我们将渐近符号改写为隐含的常数系数c>0;即
T(n)=3T( n4 n 4 )+c( n2 n 2 )      递归式如图所示(在这里我们假定n是4 的幂)

                                                T(n)

                          这里写图片描述

这里写图片描述
这里写图片描述
分析过程如下:

三,主方法

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值