本文总结动态规划算法的原理和使用场景。

1 动态规划问题的特征

  • 具有最优子结构
  • 子结构之间存在依赖关系。
  • 是用来求解最优解的问题的,因此符合上面两条,然后存在最大(多/少)等字眼的,可以尝试用动态规划求解。

2 动态规划问题的求解步骤

  • 定义子问题
  • 写出状态转移方程
  • 确定计算顺序(top-down/down-top):大多数都是采用自底向上的方法。