网站大量收购独家精品文档,联系QQ:2885784924

第七章__图_最短路径.ppt

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章__图_最短路径

第十四周第一次课 7.5. 求最短路径 一、单源最短路径 (Dijkstra算法) Dijkstra(迪杰斯特拉)算法 例3: * * 一顶点到其余各顶点 两种常见的最短路径问题: 一、 单源最短路径—用Dijkstra(迪杰斯特拉)算法 二、所有顶点间的最短路径—用Floyd(弗洛伊德)算法 典型用途:交通问题。如:城市A到城市B有多条线路,但每条线路的交通费(或所需时间)不同,那么,如何选择一条线路,使总费用(或总时间)最少? 问题抽象:在带权有向图中A点(源点)到达B点(终点)的多条路径中,寻找一条各边权值之和最小的路径,即最短路径。 任意两顶点之间 目的: 设一有向图G=(V, E),已知各边的权值,以某指定点v0为源点,求从v0到图的其余各点的最短路径。限定各边上的权值大于或等于0。 例1: 源点 从F→A的路径有4条: ① F→A: 24 ② F→B→A: 5+18=23 ③ F→B→C→A:5+7+9=21 ④ F→D→C→A:25+12+9=36 又: 从F→B的最短路径是哪条? 从F→C的最短路径是哪条? 算法思想: 先找出从源点v0到各终点vk的直达路径(v0,vk),即通过一条弧到达的路径。 从这些路径中找出一条长度最短的路径(v0,u),然后对其余各条路径进行适当调整: 若在图中存在弧(u,vk),且(v0,u)+(u,vk)(v0,vk), 则以路径(v0,u,vk)代替(v0,vk)。 在调整后的各条路径中,再找长度最短的路径,依此类推。 总之,按路径“长度” 递增的次序来逐步产生最短路径 (v0,v2)+ (v2,v3)(v0,v3) vj v5 v4 v3 v2 v1 从v0到各终点的dist值和最短路径 终点 S之外的当前最短路径之顶点 60 {v0,v2,v3} 50 {v0,v4,v3} 30 {v0,v4} 90 {v0,v4, v5} 60 {v0,v4,v3,v5} 5 5 4 0 3 1 2 100 60 30 10 10 20 50 s {v0,v2} {v0 ,v2 ,v4} {v0 ,v2 ,v4 ,v3} {v0 ,v2 ,v4 ,v3 ,v5} 10 {v0,v2} ∞ 30 {v0,v4} 100 {v0, v5} ∞ ∞ ∞ ∞ v2 v4 v3 v5 100 {v0, v5} 0 1 2 3 4 5 dist[w] 0 1 2 3 4 5 与最小生成树的不同点:路径可能是累加的! 10 {v0,v2} 50 {v0,v4,v3} 30 {v0,v4} *

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档