什么是动态规划法
动态规划法也是用于求解最优化问题,也采用分步决策的策略,将一个大问题划分成若干个较小的同类子问题,根据子问题的解,自底向上,得出整个问题的解。
与贪心法的异同
相同
- 都是用于求解最优化问题;
- 都采用分步决策,计算出每一步的最优解。
不同
- 贪心法的每一步决策依赖于『最优量度标准』,不依赖于子问题的解和尚未作出的选择;
- 动态规划法每一步决策依赖于子问题的解,无需最优量度标准。
与分治法的异同
相同
- 都将问题话分成若干个规模较小的同类型子问题。
不同
- 分治法会有重叠子问题的现象,对于一些子问题会重复计算,而动态规划法能避免重叠子问题现象。
最优子结构
动态规划法具有最优子结构特性。
最优子结构特性:一个问题的最优解包含其子问题的最优解。
当一个问题具有最优子结构特性时,在构造该问题最优解的过程中,只需考虑每一个子问题的最优解。因为每个子问题的最优解构成了该问题的最优解。