数据结构与算法之动态规划

      说动态规划之前先简单说一下回溯法:总问题分为小问题,小问题里面套着小问题,分步骤一步步解决。

个人感觉重点在于递归的调用。说道递归,递归过程的设计是很重要的。首先考虑递归的是什么。这是核心。其次,递归的结束条件是什么:可以一上来就设置递归的条件做为终止return,再满足条件的继续,最后不满足调整return就可以了。

     剑指offer中给出了两道题都是关于矩形方阵的。首先要考虑的就是如何输入。这是基础。

面试题12、面试题13 是经典的回溯法,其中的递归思想很值得学习。

接下来介绍动态规划:动态规划占据了很大的分量,每一次看都有不一样的收获。

经典题:面试题14:剪绳子:  

       1)首先找到数学表达式  ,这是重要的前提,否则没法解!!!!

       2)从上往下分析问题,从下往上解决问题。 

      3)特殊情况需要考虑。尤其是一开始绳子长度的处理与实际长度的。存在数组中的一开始值是最优值,这一点刚开始看的时候有点懵圈。

发布了17 篇原创文章 · 获赞 18 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/baidu_30594023/article/details/82345711