摘要: 学习了一下动态规划算法,按正统的描述此类问题应该是具有“最优子结构”和“重叠子问题”的一大类问题,很多地方有非常规范的描述,这里不赘述。简单的说,我的理解就是:(1)大的思想是空间换时间(2)首先分析是否“有规律”,然后定义一个状态,即为一维或二维子结点的状态,这个状态,往往是问题的解,但是也可能是隐含了解的数据,比如,求最长子串时,这个状态就是当前最长子串长度(3)在定义状态的同时,也要分析转移方程,也叫递推公式,其实就是本结点和前面的那些已经处理过的结点之间,存在什么关系,往往是前面的结点中的最好的与当前结点存在非常特殊的关系。(4)最后是要分析如何回溯求解,这就要配合转移方程,一般是倒序 阅读全文
posted @ 2013-09-25 15:28 铁甲小宝 阅读(220) 评论(0) 推荐(0)