概述
在渐进符号的学习中我们可以通过将一个基本算法的运行时间即其基本步骤执行次数表示为问题规模的函数进而求出运行时间的一个渐近紧确解,但是如果在算法中存在递归的情况时我们发现很难写出这样的一个多项式用来准确描述问题规模与基本步骤的次数的关系,这时候,递归式就显得很有用处;
递归式,就是用来描述递归算法运行时间的一个等式或者不等式,它通过更小的输入上的函数值(即下一层递归调用的时间代价)来描述本层递归的时间复杂度:
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)
分析过程如下:
三,主方法
最后
以上就是爱笑夕阳为你收集整理的递归算法的递归式及其求解方法的全部内容,希望文章能够帮你解决递归算法的递归式及其求解方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复