-何为动态规划
动态规划的本质就是
“原问题的解如何由子问题的解组合而成。”
比如斐波那契数列f(n)=f(n-1)+f(n-2);
-动态规划的两类方法
top-down dp
bottom-up dp
-动态规划,递归,caching
递归只是动态规划的一种实现方式,也就是top-down的方法
而caching只是把计算过的值储存起来,可以用于递归实现,也可以用于非递归实现
-top-down和bottom-up的选择
优先选择top-down,除非不容易得到递归公式或者空间复杂度无法接受