
动态规划
文章平均质量分 78
songuooo
Make easy things easy & hard things possible.
展开
-
动态规划基础
众所周知,动态规划(Dynamic Programming)常用于解决最优化问题。能采用动态规划的问题具有两个重要的性质:最优子结构和子问题重叠性。下面就温习一下吧。 1. 最优子结构(Optimal substructure) 如果问题的一个最优解中包含了子问题的最优解,即原问题的最优解可以通过子问题的最优解构造,或者说可以利用子问题的最优解来构造原问题的一个最优解,则问题具有最优子原创 2012-08-19 19:35:58 · 687 阅读 · 0 评论 -
装配线调度(动态规划)
1. 问题描述 公司在有两条装配线的工厂内生产汽车,如下图所示。一个汽车底盘在进入每一条装配线后,在一些装配站中会在底盘上安装部件,然后完成的汽车在装配站的末端离开。每一条装配线上有n个装配站,编号为j=1,2...n。装配线i(i=1,2)的第j个装配站表示为Sij。装配线1的第j个站和装配线2的第j个站执行相同的功能。然而这些装配站是在不同的时间建造的,并且采用了不同的技术,一次每个站上所需原创 2012-08-20 16:38:20 · 1377 阅读 · 1 评论 -
矩阵链乘法(动态规划)
1. 描述 给定由n个要相乘的矩阵构成的序列,要计算乘积 A1A2...An 矩阵的乘法满足结合率,然而不同的结合虽然运算结果一样,但需要运算的次数是不相同的,例如:设3个矩阵的维数分别为10x100,100x5,5x50。如果按((A1A2)A3)的次序相乘,共要做10x100x5原创 2012-08-24 19:10:05 · 1280 阅读 · 0 评论 -
最优二叉查找树(动态规划)
1. 描述 给定一个有序序列K={k1 2. 分析 (1)最优子结构 一个最优二叉树的子树必定包含连续范围的关键字ki~kj,1 如果一棵最优二叉查找树T有一棵含有关键字ki~kj的子树T',那么,T'也是一棵最优查找树,这通过剪贴思想可以证明。 构造最优子结构:在ki~kj中,选定一个r,i (2)递推公式 定义e[i,j]为一棵包含关键字ki~kj的最优二叉树的期望原创 2012-09-08 21:56:59 · 1571 阅读 · 0 评论 -
最长公共子序列LCS(动态规划)
1. 描述 给定两个序列 X = { x1 , x2 , ... , xm },Y = { y1 , y2 , ... , yn } 求X和Y的一个最长公共子序列。 2. 分析 设最长子序列 Z = { z1 , ... , zk } 则 1、若 xm = yn , 则 zk = xm = yn,且Z[k-1] 是 X[m-1] 和 Y[n-1] 的最长公共子序列; 2原创 2012-09-01 22:51:44 · 832 阅读 · 0 评论