第五章基于归纳的算法设计.pptVIP

  • 15
  • 0
  • 约6.92千字
  • 约 25页
  • 2018-01-17 发布于天津
  • 举报
第五章基于归纳的算法设计.ppt

第五章 基于归纳的算法设计 原理 (1) 解决问题的一个小规模事例是可能的(基础事例) (2) 每一个问题的解答都可以由更小规模问题的解答构造出来(归纳步骤)。 关键:如何简化问题。 多项式求值 问题:给定一串实数an,an-1,…,a1,a0,和一个实数x,计算多项式Pn(x)=anxn+an-1xn-1+…+a1x+a0的值。 归纳假设:已知如何在给定an-1,…,a1,a0和点x的情况下求解多项式(即已知如何求解Pn-1(x))。 Pn(x)= Pn-1(x)+anxn 需要n(n+1)/2次乘法和n次加法运算。 观察:有许多冗余的计算,即x的幂被到处计算。 更强的归纳假设:已知如何计算多项式Pn-1(x)的值,也知道如何计算xn-1。 计算xn仅需要一次乘法,然后再用一次乘法得到anxn,最后用一次加法完成计算,总共需要2n次乘法和n次加法。 多项式求值 归纳假设(翻转了顺序的):已知如何计算P/n-1(x)=anxn-1+an-1xn-2+…+a1。 Pn(x)=xP/n-1(x)+a0。所以,从P/n-1(x)计算Pn(x)仅需要一次乘法和一次加法。 该算法仅需要n次乘法和n次加法,以及一个额外的存储空间。 窍门是很少见的从左到右地考虑问题的输入,而不是直觉上的从右到左。另一个常见的可能是对比自上而下与自下而上(当包含一个树结构时)。 最大导出子图

文档评论(0)

1亿VIP精品文档

相关文档