一、在用动态规划思想解题的过程中常用的两种手法:
①递推计算:
②记忆化搜索(也就是备忘录)方法:直接的自底向上进行。
memset(v,-1,sizeof(v0);当不是-1的时候,返回已经计算的值,否则用递归的形式进行计算。
二、动态规划能够应用的两个特征:
①存在递归解形式;②存在重叠子问题;反映在实际中就是最优化问题,然后问题的解是一个和问题规模无关的问题。
能够用动态规划进行求解的问题,常常都能够转换为DAG模型进行处理。尤其对于很烦复杂的问题,这一点很重要。
三、动态规划和贪心算法的区别区别支持:
贪心算法是自顶向下的,动态规划是自底向上的。
贪心算法是通过首先有序化,由局部最优选择得到最终的全局最优问题。
动态规划是通过全局最优问题是有局部最优问题组成的来得到最终的解。
在实际的程序中,往往可以通过排序来将动态规划问题转换为贪心算法求解。
贪心算法的时间复杂度多半为:O(N)。而动态规划多半为O(N*N);