- 1
- 0
- 约1.03万字
- 约 13页
- 2026-09-01 发布于北京
- 举报
动态规划
Dynamicprogramming,简称dp
动态规划是⼀种通过把原问题分解为相对简单的⼦问题,来求解复杂问题的算法。
动态规划问题的特征
1.动态规划问题⼀般都是求最值,⽐如求最⻓公共⼦序列,矩阵最⼩路径和等等。
2.求解动态规划的基本操作是穷举(因为要求最值,⼤部分情况下要把所有情况穷举处理,然后在其
中找最值)
3.动态规划问题的三要素是⼦问题,具备最优⼦结构,⽆后效性
4.动态规划算法的根本⽬的是解决冗余,是⽤空间换时间
5.动态规划最难的地⽅是写状态转移⽅程
⼦问题:是指在⽤递归算法⾃顶向下对问题进⾏求解时,每次产⽣的⼦问题并不总是新问
题,有些⼦问题会被重复计算多次。动态规划算法正是利⽤了这种⼦问题的性质,对每⼀个
⼦问题只计算⼀次,然后将其计算结果保存在⼀个表格中,当再次需要计算已经计算过的⼦问题
时,只是在表格中简单地查看⼀下结果,从⽽获得较⾼的效率,降低了时间复杂度。
最优⼦结构:如果问题的最优解所包含的⼦问题的解也是最优的,⽽且每个⼦问题间独⽴,我们就
称该问题具有最优⼦结构性质
⽆后效性:以前的状态和以前的状态变化过程,不会影响将来的状态变化。将来的状态只能由当
前状态直接影响。
状态转移⽅程:
这⾥⾯最
原创力文档

文档评论(0)