动态规划算法笔记
- 如何设计一个动态规划算法?
一般有如下四个步骤:
- 刻画一个最优解的结构特征。
- 递归地定义最优解的值。
- 计算最优解的值,通常采用自底向上的方法。
- 利用计算出的信息构造一个最优解。
- 动态规划的一些特征
首先,保持子空间尽量简单。
- 记忆化存储,对一个子问题不进行多次计算,典型的时空权衡(time-memory trade-off).
- 两种等价的实现方法:带备忘的自顶向下法以及自底向上法。
- 最优子结构
首先,保持子空间尽量简单。
- 记忆化存储,对一个子问题不进行多次计算,典型的时空权衡(time-memory trade-off).
- 两种等价的实现方法:带备忘的自顶向下法以及自底向上法。
- 最优子结构