动态规划
tanyujing
这个作者很懒,什么都没留下…
展开
-
动态规划之装配线调度
参考资料:《算法导论第二版第15章》 代码有注释,参考注释应该能够看明白 public class assemblyline { public static void main(String[] args) { int n =6;//每条线上装配站的个数 int[][] a ={{7,9,3,4,8,4},{8,5,6,4,5,7}};//装配站Si,j上所需要的装配时间为a[i,原创 2013-01-30 11:56:53 · 1690 阅读 · 0 评论 -
动态规划之最长公共子序列
给定两个序列x和y,称z是x和y的公共子序列,如果z既是x的子序列,又是y的子序列;最长的公共子序列称作最长公共子序列LCS(longest common subsequence)。 4.1 求解步骤 (1)LCS的最优子结构 设zk是xm和yn的一个LCS,则,如果x和y的最后一个元素相同,则z中去掉最后一个元素之后zk-1仍为xm-1和yn-1的LCS 如果xm!=yn,若zk原创 2013-01-31 12:29:13 · 3131 阅读 · 0 评论 -
01背包问题
动态规划的基本思想: 将一个问题分解为子问题递归求解,且将中间结果保存以避免重复计算。通常用来求最优解,且最优解的局部也是最优的。求解过程产生多个决策序列,下一步总是依赖上一步的结果,自底向上的求解。 动态规划算法可分解成从先到后的4个步骤: 1. 描述一个最优解的结构,寻找子问题,对问题进行划分。 2. 定义状态。往往将和子问题相关的各个变量的一组取值定义为一个状态。某个状态的值就是原创 2013-03-12 22:15:39 · 1051 阅读 · 0 评论