第9章动态规划初步.docVIP

  • 2
  • 0
  • 约5.69万字
  • 约 49页
  • 2017-02-09 发布于天津
  • 举报
第9章动态规划初步

第9章动态规划初步 学习目标 理解状态和状态转移方程 理解最优子结构和重叠子问题 熟练运用递推法和记忆化搜索求解数字三角形问题 熟悉DAG上动态规划的常见思路、两种状态定义方法和刷表法 掌握记忆化搜索在实现方面的注意事项 掌握记忆化搜索和递推中输出方案的方法 掌握递推中滚动数组的使用方法 熟练解决经典动态规划问题 动态规划的理论性和实践性都比较强,一方面需要理解“状态”、“状态转移”、“最优子结构”、“重叠子问题”等概念,另一方面又需要根据题目的条件灵活设计算法。可以这样说,对动态规划的掌握情况在很大程度上能直接影响一个选手的分析和建模能力。 9.1 数字三角形 动态规划是一种用途很广的问题求解方法,它本身并不是一个特定的算法,而是一种思想,一种手段。下面通过一个题目阐述动态规划的基本思路和特点。 9.1.1 问题描述与状态定义 数字三角形问题。有一个由非负整数组成的三角形,第一行只有一个数,除了最下行之外每个数的左下方和右下方各有一个数,如图9-1所示。 (a)数字三角形 ? (b)格子编号 图9-1 数字三角形问题 从第一行的数开始,每次可以往左下或右下走一格,直到走到最下行,把沿途经过的数全部加起来。如何走才能使得这个和尽量大? 【分析】 如果熟悉回溯法,可能会立刻发现这是一个动态的决策问题:每次有两种选择——左下或右下。

文档评论(0)

1亿VIP精品文档

相关文档