- 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文档。上传文档
查看更多
算法第四章解析
4.5 单源最短路径 ——问题分析 贪心策略:设置两个顶点集合 V-S 和 S,集合S中存放己经找到最短路径的顶点,集合 V-S 中存放当前还未找到最短路径的顶点。设置顶点集合S并不断地作贪心选择来扩充这个集合。一个顶点属于集合 S 当且仅当从源到该顶点的最短路径长度已知。 Chapter 4 4.5 单源最短路径 ——问题分析 例4-6 对图4-6的有向图,应用Dijkstra算法计算从源顶点0到其他顶点间最短路径,按其算法步骤执行过程如表4-7所示。 Chapter 4 0 1 4 2 3 10 100 30 10 50 20 60 图4-6 一个带权有向图 4.5 单源最短路径 ——问题分析 表4-7 Dijkstra算法的迭代过程 Chapter 4 迭代 S u distance [1] distance [2] distance [3] distance [4] 初始 {0} — 10 30 100 1 {0,1} 1 10 60 30 100 2 {0,1,3} 3 10 50 30 90 3 {0,1,3,2} 2 10 50 30 60 4 {0,1,3,2,4} 4 10 50 30 60 如何确定每个顶点最短路径所经过的顶点? 4.5 单源最短路径 ——问题分析 Chapter 4 如何确定每个顶点最短路径所经过的顶点? 解决方法: 使用数组Pre[ i ] 记录顶点 I 最短路径时的前驱顶点. 例如:有5个顶点的 Pre[5]={0,0,3,0,2},则源顶点0到第4个顶点的最短路径经过的顶点可以这样计算: 首先,pre[4]=2, pre[2]=3, pre[3]=0, 所以最短路径是从:0--?3-?2--?4 关键问题:如何确定pre[i]的值? 初始时,所有顶点的 pre[i]=0; 此后,当 i 顶点的最短路径发生修改时,即加入u到S中后, distance[i] = distance[u] + cost[u,j] distance[i] 时,修改i的最短路径值时同时修改pre[i]=u; 4.5 单源最短路径 ——算法分析 1)贪心选择性质 Dijkstra算法是应用贪心算法设计策略的又一个典型例子。它所作的贪心选择是从V-S中选择具有最短特殊路径的顶点u,从而确定从源到u的最短路径长度distance [u]。这种贪心选择为什么会导致最优解呢?换句话说,为什么从源到u没有更多的其他路径呢? 事实上,如果存在一条从源到u且长度比distance [u]更短的路,设这条路初次走出S之外到达的顶点为x∈V-S,然后徘徊于S内外若干次,最后离开S到达u,如下图所示。 Chapter 4 4.5 单源最短路径 ——算法分析 Chapter 4 源 S v U x 在这条路径上,分别记cost(v,x),cost(x,u)和cost(v,u)为顶点v到顶点x,顶点x到顶点v到顶点u的路长,那么distance [x]= cost (v,x) ,cost (v,x)+ cost (x,u)= cost (v,u) distance [u]。利用边权的非负性,可知cost (x,u)=0,从而推distance [x] distance [u],说明是具有最短路径的顶点,此为矛盾。这就证明了distance [u]是从源到顶点u的最短路径长度。 4.5 单源最短路径 ——算法分析 2)最优子结构性质 算法中确定的distance[u]确实是源点到顶点u的最短特殊路径长度。为此,只要考察算法在添加u到S中后,distance [u]的值所引起的变化。当添加u之后,可能出现一条到顶点i特殊的新路。 第一种情况:从u直接到达i如果cost [u][j] + distance [u] distance [i],则 cost [u][j] + distance [u]作为distance [i]新值。 Chapter 4 4.5 单源最短路径 ——算法分析 Chapter 4 第二种情况:从u不直接到达i,如下图所示。回到老S中某个顶点x,最后到达i。当前distance [i]的值小于从源点经u和x,最后到达i的路径长度。因此,算法中不考虑
您可能关注的文档
- 签约培训-17-分红保险基础知识PPT解析.ppt
- 签约培训-4-保险的意义与功用-PPT解析.ppt
- 简单的线性规划及实际应用解析.ppt
- 简单的网页制作教程-设计一个个人网站解析.doc
- 简明法语教程上册课后翻译答案解析.doc
- 简易-科研经费使用与审批解析.ppt
- 简历筛选实战技巧(45P)解析.ppt
- 简易呼吸器操作流程解析.ppt
- 简易呼吸器2解析.ppt
- 简易呼吸器使用解析.ppt
- 社区养老设施智能化升级2025:老年活动中心智能化改造项目实施过程中的资金筹措与管理.docx
- 医院信息化2025年电子病历系统优化与医疗信息化政策创新实施路径优化实践报告.docx
- 供应链金融风险防控策略:2025年供应链金融风险管理解决方案研究报告.docx
- 供应链金融风险防控视角下的供应链金融产品设计与策略研究报告.docx
- 医疗健康管理服务满意度提升:2025年用户反馈与改进建议.docx
- 企业可持续发展目标(SDGs)与数字艺术创作与传播报告.docx
- 多模态学习框架项目创业计划书.docx
- 农村土地流转2025年土地流转与农村土地流转政策实施效果跟踪规范化管理报告.docx
- 2025年智能灌溉系统在农业节水灌溉中的应用效果评估报告.docx
- 零售行业智能化仓储物流与配送中心建设报告.docx
文档评论(0)