动态规划算法的理解

来源:互联网 发布:刘亦婷混的好吗知乎 编辑:程序博客网 时间:2024/04/30 22:02

动态规划算法主要的核心思想是:状态和状态转移方程。怎么理解这个问题呢?

先拿到了一个数字三角形的程序,阅读了它的动态规划的代码,但是看不明白!不明白在什么地方呢?在具体的执行过程各个变量的变化方向。比如两层for循环,i为逆序,j为次序。那么这种执行次序就没有办法想象了。

那就先不管上面的了,先看DAG上面的动态规划。

抄了一遍poj2479这个题目的答案。大致理解这个题目的解题思路是,先顺序去搜索最大连续子串值存在一个数组里面,再逆序去搜索逆序的最大子串值,该值与当前搜索到的位置的顺序的子串值数组项相加,取所有和中最大的那个。

抄了一遍后感觉对算法的理解更深了,因为每一个处理步骤都记在脑中了。所以学习离散的知识,关键还是每一个处理步骤的记忆,记得多了后再融会贯通。

原创粉丝点击