算法设计技巧与分析 第7章 动态规划.ppt

算法设计技巧与分析 第7章 动态规划.ppt

ID:49183212

大小:519.00 KB

页数:48页

时间:2020-01-31

算法设计技巧与分析 第7章 动态规划.ppt_第1页
算法设计技巧与分析 第7章 动态规划.ppt_第2页
算法设计技巧与分析 第7章 动态规划.ppt_第3页
算法设计技巧与分析 第7章 动态规划.ppt_第4页
算法设计技巧与分析 第7章 动态规划.ppt_第5页
资源描述:

《算法设计技巧与分析 第7章 动态规划.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、算法设计技巧与分析AlgorithmsDesignTechniquesandAnalysis南方医科大学医工学院信息技术系第7章动态规划理解动态规划的基本原理掌握动态规划的算法实例(难点)掌握用动态规划设计算法的方法(重点)TeachingRequestContent动态规划原理算法实例最长公共子序列问题矩阵链相乘最短路径问题0-1背包问题动态规划范式1n=0f(n)=1n=1f(n-1)+f(n-2)n>1F(4)F(3)F(2)F(2)F(1)F(1)F(0)FibonacciSerialProblemRecursionForm算法过程:1.proceduref(n)

2、2.if(n=1)or(n=2)thenreturn13.elsereturnf(n-1)+f(n-2)时间复杂性:1若n=1或n=2若n≥3DynamicProgrammingForm计算过程:从f1开始,自底向上计算到fn。时间复杂性:Θ(n)空间复杂性:Θ(1)DynamicProgrammingPrinciple将待求解的问题分解成若干个子问题,先求解子问题,并存储子问题的解而避免计算重复的子问题,再由子问题的解得到原问题的解。DifferencebetweenDCandDP都是分解成子问题,由子问题的解得到原问题的解。分治中子问题相互独立,而动态规划中子问题互相

3、有联系,且存在重复计算,即存在重叠子问题。7.2LongestCommonSerialProblem:给出两个长度为n和m的字符串A和B,A=a1a2…an,B=b1b2…bm,确定在A和B中最长公共子序列的长度。Example:若A=zxyxyz,B=xyyzx,则A和B的最长公共子序列为xyyz,其长度为4。令L[i,j]表示a1a2…ai和b1b2…bj的最长公共子序列的长度,如果i和j都大于0,那么若ai=bj,L[i,j]=L[i-1,j-1]+1若ai≠bj,L[i,j]=max{L[i,j-1],L[i-1,j]}观察结论7.1若i=0或j=0若i>0,j>

4、0和ai=bj若i>0,j>0和ai≠bj算法7.1 LCS输入:字母表上的两个字符串A和B,长度分别为n和m。输出:A和B最长公共了序列的长度。1.fori←0ton2.L[i,0]←03.endfor4.forj←0tom5.L[0,j]←06.endfor7.fori←1ton8.forj←1tom9.ifthenL[i,j]←L[i-1,j-1]+110.elseL[i,j]←max{[i,j-1],L[i-1,j]}11.endif12.endfor13.endfor14.returnL[n,m]定理7.1最长公共子序列问题的最优解能够在时间和空间内得到。7.3

5、MatrixChain给定n个矩阵{A1,A2,…,An},其中Ai是一个ri-1×ri矩阵(1≤i≤n),即Ai×Ai+1是可乘的,求出n个矩阵相乘的最优计算次序,使得计算量最小。BasePrinciple考查两个矩阵相乘的情形:C=AB。如果矩阵A,B分别是p×r和r×q矩阵,则它们的乘积C将是p×q矩阵,其(i,j)元素为则共需要prq次数乘。BaseAlgorithmvoidMatrixMultiply(int**a,int**b,int**c,intra,intca,intrb,intcb){if(ca!=rb)error(“矩阵不可乘”);for(inti=0

6、;i

7、Bracket矩阵相乘满足结合律,连乘积可以有许多不同的次序,可以用加括号的方式确定。设三个矩阵A1,A2,A3大小分别为2×10,10×2,2×10,考虑(A1(A2A3)),(A1A2)A3)的结果与相乘的次数。对于n个矩阵的连乘积,设有f(n)个计算次序。我们可以在第k个和第k+1个矩阵之间将原矩阵划分为两个子矩阵序列,则:Catalan其中f(n)=C(n-1),AnalyzethestructureoftheOptimizationResult设M[i:j]为矩阵连乘积MiMi+1···Mj。计算M[1:n]的最优次

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。