[工学]递归算法分析.pptVIP

  • 26
  • 0
  • 约3.07千字
  • 约 30页
  • 2018-03-02 发布于浙江
  • 举报
[工学]递归算法分析

递归关系常用于对递归函数的代价建模。例如,标准归并排序对一个长度为n的线性表进行处理,它的代价建模为: T(n)=2T(n/2)+n 三种常见的处理递归关系的方法: 估计法:猜测递归的上下限,然后根据需要进行收紧上下限。 扩展递归,把它转换成求和,然后利用求和技术。 当递归是某种特定形式时,利用已经证明的定理。 估计上下限 基本步骤:(1)猜测 (2)用数学归纳法证明. 关键:猜测 具体操作:如果给出一个正确的上下限估计,经过归纳证明很容易就可以验证事实。如果证明成功,那么就试着收紧上下限,如果证明失败,那么就放松限制再试着证明。一旦上下限符合要求,就完成了任务。 应用范围:当只是寻找渐进复杂性时,这是一种很有用的技术。当寻找一种精确的闭合形式解时(即寻找表达式的常量时),这个方法就不合适了。 估计上下限 例1. 求解, T(2)=1. 解: 可以从猜测这个递归有一个上限O(n2)开始,假定:T(n)=n2 归纳证明这个猜测是正确的: 假设n是2的乘方。 对于初始T(2)=1=22 假设T(i)=i2 i=n 则:T(2i)=2T(i)+i=2i2+2i=4i2=(2i)2 这样T(n)就在O(n2)中了 估计上下限 从上述证明过程中可以看到,我们从2n2+2n到达了4n2,表明O(n2)是一个很高的估计。 猜测更小些,例如T(n)=cn,很

文档评论(0)

1亿VIP精品文档

相关文档