- 1、本文档共73页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章动态规划法_new
算法设计与分析 * 动态规划法总结 与分治法相比,相同之处是也将原问题分解为若干子问题,再递归求解;不同之处是所分解的子问题彼此并不独立,而是互有重叠。 基本思想是造表记录已解的子问题,再次遇到时仅查表即可,避免了重复计算,提高效率。 通常用于求解具有最优性质的问题,而且其子问题也具有最优性质(最优子结构性质)。 实现方法通常为自底向上的递归形式,但也可以采用自上而下的形式(备忘录方法)。 算法设计与分析 * 多阶段图最短路问题 下图表示城市之间的交通路网,线段上的数字表示费用,单向通行由A-E。求A-E的最省费用。 A B1 B2 C1 C2 C3 C4 D1 D2 D3 E 2 5 8 3 6 11 2 3 1 5 4 2 7 5 3 8 算法设计与分析 * 多阶段图最短路问题(2) 直观的方法是用回溯法搜索。时间复杂度为指数级。 低效的原因:没有充分利用重叠子问题的性质。 算法设计与分析 * 多阶段图最短路问题(3) 此图有明显的次序,可以划分为5阶段。故此问题的要求是:在各个阶段选取一个恰当的决策,使由这些决策组成的一个决策序列所决定的一条路线,其总路程最短。 由目标状态E向前推,可以分成四个阶段,即四个子问题。每个阶段到E的最省费用为本阶段的决策路径。 A B1 B2 C1 C2 C3 C4 D1 D2 D3 E 阶段0 阶段1 阶段2 阶段3 阶段4 算法设计与分析 * 多阶段图最短路问题(4) 设 Dis[k][x] 为第k阶段城市x到城市E的最短路径长度。 map[ i ][ j ]为i,j两个城市间的距离。 递归方程为 Dis[k][x] = min { Dis[k+1][y]+map[x,y] } 此问题时间复杂度降为O(n2). 算法设计与分析 * 动态规划的概念 在上例的多阶段决策问题中,各个阶段采取的决策,依赖于当前状态,又随即引起状态的转移,一个决策序列就是在变化的状态中产生出来的,故有“动态”的含义,称这种解决多阶段决策最优化问题的方法为动态规划方法。 算法设计与分析 * POJ 1163 数字三角形 在上面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大。路径上的每一步都只能往左下或右下走。只需要求出这个最大和即可,不必给出具体路径。 三角形的行数大于1小于等于100 数字为0 - 99 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 算法设计与分析 * 输入格式: //三角形行数。下面是三角形 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 要求输出最大和 算法设计与分析 * 算法一:递归的想法 设f(i,j) 为三角形上从点(i,j)出发向下走的最长路经,x为点(i,j)的数值,则 f(i,j) = x+max(f(i+1,j), f(i+1,j+1)) 要输出的就是f(0,0)即从最上面一点出发的最长路经。 代码如下: 算法设计与分析 * #include iostream.h #define MAX 101 int triangle[MAX][MAX]; int n; int longestPath(int i, int j); void main(){ int i,j; cin n; for(i=0;in;i++) for(j=0;j=i;j++) cin triangle[i][j]; cout longestPath(0,0) endl; } int longestPath(int i, int j){ if(i==n) return 0; int x = longestPath(i+1,j); int y = longestPath(i+1,j+1); if(xy) x=y; return x+triangle[i][j]; } 超时 算法设计与分析 * 算法二:动态规划从下往上逐层计算 #include iostream.h #define MAX 101 int triangle[MAX][MAX], n; void main(){ int i,j; cin n; for(i=0;in;i++) for(j=0;j=i;j++) cin triangle[i][j]; for(i=n-2;i=0;i--) for(j=0;j=i;j++){ int x=triangle[i+1][j];
您可能关注的文档
- 33 Cpk计算.ppt
- 电话营销PPT(上海).ppt
- 酷熊我佛山的也来交作业了酷熊汽车金属中网.doc
- 《跨文化交际》7.ppt
- 英语教育专业2011届毕业实习大纲.doc
- 皂角小学初三化学月考试题(8、9).doc
- “1234”工作思路提升远程教育学用成效.doc
- 测量空气中氧气的含量.doc
- 环工0922“五四红旗”团支部申请材料.doc
- 北师大版九上几何复习题五.doc
- 2025AACR十大热门靶点推荐和解读报告52页.docx
- 财务部管理报表.xlsx
- 高中物理新人教版选修3-1课件第二章恒定电流第7节闭合电路欧姆定律.ppt
- 第三单元知识梳理(课件)-三年级语文下册单元复习(部编版).pptx
- 俄罗斯知识点训练课件-七年级地理下学期人教版(2024).pptx
- 课外古诗词诵读龟虽寿-八年级语文上学期课内课件(统编版).pptx
- 高三语文二轮复习课件第七部分实用类文本阅读7.2.1.ppt
- 高考物理人教版一轮复习课件第4章第3讲圆周运动.ppt
- 高考英语一轮复习课件53Lifeinthefuture.ppt
- 2025-2030衣柜行业风险投资发展分析及投资融资策略研究报告.docx
最近下载
- 普法知识宣传.pptx VIP
- 人教版(2024)七年级地理上册教学设计全册.pdf VIP
- 2025年根河市“归雁计划”模拟试卷带答案详解(名师推荐).docx VIP
- 水泥性能与检测.ppt VIP
- 记叙文阅读之记叙顺序课件(共31张ppt) 2025年中考语文一轮复习(全国通用).pptx VIP
- 2024年高考物理试卷(甘肃)(空白卷).pdf VIP
- 农村土地永久互换协议合同.docx VIP
- 2025至2030年中国智能胎教仪市场分析及竞争策略研究报告.docx
- 2025党校入党积极分子发展对象考试题库(含答案).docx VIP
- 人教版高中数学选择性必修二全套教材例题课后习题变式及答案解析.pdf VIP
文档评论(0)