- 26
- 0
- 约1.46万字
- 约 81页
- 2016-12-21 发布于重庆
- 举报
8878798 第3讲 动态规划 学习要点 理解动态规划算法的概念。 掌握动态规划算法的基本要素 (1)最优子结构性质 (2)重叠子问题性质 掌握设计动态规划算法的步骤。 (1)找出最优解的性质,并刻划其结构特征。 (2)递归地定义最优值。 (3)以自底向上的方式计算出最优值。 (4)根据计算最优值时得到的信息,构造最优解。 通过应用范例学习动态规划算法设计策略。 (1)矩阵连乘问题; (2)最长公共子序列; (3)最大子段和 (4)凸多边形最优三角剖分; (5)多边形游戏; (6)图像压缩; (7)电路布线; (8)流水作业调度; (9)背包问题; (10)最优二叉搜索树。 主要内容 1、算法思想 2、例题 (1)矩阵连乘问题; (2)最长公共子序列; (3)最大子段和 (4)凸多边形最优三角剖分; (5)多边形游戏; (6)图像压缩; (7)电路布线; (8)流水作业调度; (9)背包问题; (10)最优二叉搜索树。 动态规划基本步骤 找出最优解的性质,并刻划其结构特征。 递归地定义最优值。 以自底向上的方式计算出最优值。 根据计算最优值时得到的信息,构造最优解。 2、 例题 int LookupChain(int i,int j) { if (m[i][j] 0) return m[i][j]; if (i == j) return 0; int u = LookupChain(i,i) + LookupChain(i+1,j) + p[i-1]*p[i]*p[j]; s[i][j] = i; for (int k = i+1; k j; k++) { int t = LookupChain(i,k) + LookupChain(k+1,j) + p[i-1]*p[k]*p[j]; if (t u) { u = t; s[i][j] = k;} } m[i][j] = u; return u; } 2.2 最长公共子序列 若给定序列X={x1,x2,…,xm},则另一序列Z={z1,z2,…,zk},是X的子序列是指存在一个严格递增下标序列{i1,i2,…,ik}使得对于所有j=1,2,…,k有:zj=xij。例如,序列Z={B,C,D,B}是序列X={A,B,C,B,D,A,B}的子序列,相应的递增下标序列为{2,3,5,7}。 给定2个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。 给定2个序列X={x1,x2,…,xm}和Y={y1,y2,…,yn},找出X和Y的最长公共子序列。 给定由n个整数(可能为负整数)组成的序列a1,a2,a3…an,求该序列形如∑ak(k=i,i+1…j)的子段和最大值。当所有的整数均为负整数时定义其最大子段和为0.依次定义,所求的最优值为max{0, max∑ak[(k=i,i+1…j),1=i=j=n]} 最大子段和问题的简单算法 int maxsum(int n,int *a,int besti,int bestj) { int sum=0; for(int i=1; i=n; i++) { int thissum=0; for(int j=i; j=n; j++) { thissum+=a[j]; if(thissumsum) sum=thissum;besti=i;bestj=j; } } return sum; } 最大子段和问题的分治算法 针对最大子段和这个具体问题本身的结构,我们可以从算法设计的策略上对上述O(n2)计算时间算法进行更进一步的改进。 从问题的本身的解的结构可以看出,它适合于用分治法求解。如果将所给的序列a[1:n]分为长度为长度相等的两段a[1:n/2]和a[n/2+1:n],分别求出这两段的最大子段和,则a[1:n]的最大子段和有三种情况: 最大子段和问题的动态规划算法 在对上述分治算法的分析中我们注意到,若记b[j]=max{∑a[k](k=i,…j)1=i=j=n;},则所求的最大子段和为max{∑a[k](k=i,…j)1=i=j=n}=maxb[j](1=j=n),其中b[j]的定义为当b[j-1]0时b[j]=b[j-1]+a[j],否则b[j]=a[j].可得 b[j]=max{b[j-1]+a[j],a[j]},1=j=n; void minweight(int n,int **m,int **s) { for (int i = 1; i =
您可能关注的文档
- 第1课时原子的构成与核外电子排布..ppt
- 第2章JSP动态网页设计基础..ppt
- 第2章_信息的度量..ppt
- 第2章_电子商务法律法规..ppt
- 第2章_逻辑门电路tang..ppt
- 第2章从C到C++..ppt
- 第2章_门电路..ppt
- 第2章东方思想..ppt
- 第2章关系数据库设计..ppt
- 第2章信息的统计度量..ppt
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
原创力文档

文档评论(0)