动态算法原理与应用.pdfVIP

  • 1
  • 0
  • 约1.03万字
  • 约 13页
  • 2026-09-01 发布于北京
  • 举报

动态规划

Dynamicprogramming,简称dp

动态规划是⼀种通过把原问题分解为相对简单的⼦问题,来求解复杂问题的算法。

动态规划问题的特征

1.动态规划问题⼀般都是求最值,⽐如求最⻓公共⼦序列,矩阵最⼩路径和等等。

2.求解动态规划的基本操作是穷举(因为要求最值,⼤部分情况下要把所有情况穷举处理,然后在其

中找最值)

3.动态规划问题的三要素是⼦问题,具备最优⼦结构,⽆后效性

4.动态规划算法的根本⽬的是解决冗余,是⽤空间换时间

5.动态规划最难的地⽅是写状态转移⽅程

⼦问题:是指在⽤递归算法⾃顶向下对问题进⾏求解时,每次产⽣的⼦问题并不总是新问

题,有些⼦问题会被重复计算多次。动态规划算法正是利⽤了这种⼦问题的性质,对每⼀个

⼦问题只计算⼀次,然后将其计算结果保存在⼀个表格中,当再次需要计算已经计算过的⼦问题

时,只是在表格中简单地查看⼀下结果,从⽽获得较⾼的效率,降低了时间复杂度。

最优⼦结构:如果问题的最优解所包含的⼦问题的解也是最优的,⽽且每个⼦问题间独⽴,我们就

称该问题具有最优⼦结构性质

⽆后效性:以前的状态和以前的状态变化过程,不会影响将来的状态变化。将来的状态只能由当

前状态直接影响。

状态转移⽅程:

这⾥⾯最

文档评论(0)

1亿VIP精品文档

相关文档