200920102《算法分析》7动态规划1.pptVIP

  • 7
  • 0
  • 约4.62千字
  • 约 42页
  • 2017-03-08 发布于湖北
  • 举报
200920102《算法分析》7动态规划1

动态规划 学习要点: 理解动态规划算法的概念。 掌握动态规划算法的基本要素 (1)最优子结构性质 (2)重叠子问题性质 掌握设计动态规划算法的步骤。 (1)找出最优解的性质,并刻划其结构特征。 (2)递归地定义最优值。 (3)以自底向上的方式计算出最优值。 (4)根据计算最优值时得到的信息,构造最优解。 通过应用范例学习动态规划算法设计策略。 (1)最短路径问题 (2)最长公共子序列; (3)矩阵连乘问题 (4)图的任意两点间的最短距离 (5)流动推销员问题 (6)背包问题 (7)整数规划问题 (8)流水作业调度 问题对象 这一强有力的算法设计技术,广泛应用于求解组合最优化问题。 它不递归调用自身,但问题的基本解通常是用递归函数的形式来说明。 而分治法是直接实现递推的结果,往往会导致不止一次的递归调用 动态规划采用自底向上的方式递推求值,并把中间结果存储起来以便以后用来计算所需要求的解。(事实上是采用了空间换时间的算法) 动态规划可以设计出特别有效的解决许多组合最优化问题。 比如:旅行商问题 有n个城市,城市之间有不等长的道路连接,一个旅行商要走遍所有城市,请找到一条最短的步行方法? 用蛮力算法需要O(n!) 用动态规划可以在O(n2 2n)内解决。 简单例子1:Fibonacci序列 无穷数列1,1,2,3,5,8,13,21,34,55,……,称为Fibonacci

文档评论(0)

1亿VIP精品文档

相关文档