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

(长度和路径) dijkstra最短路径的算法思想 - 南京大学.ppt

(长度和路径) dijkstra最短路径的算法思想 - 南京大学.ppt

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

最短通路问题 离散数学─图论初步 南京大学计算机科学与技术系 内容提要 引言 Dijkstra算法 旅行商问题(TSP) 埃德斯数(Erd?s number) Paul Erd?s (1913-1996), Hungary, U.S.A., Israel Erd?s number 带权图与最短通路问题 带权图:三元组 (V, E, W),(V, E)是图,W是从E到非负实数集的一个函数。W(e)表示边e的权。 一条通路上所有边的权的和称为该通路的长度。 两点之间长度最小的通路称为两点之间的最短通路,不一定是唯一的。 单源点最短路问题 给定带权图 G(V, E, W),并指定一个源点,确定该源点到图中其它任一顶点的最短路(长度和路径)。 Dijkstra最短路径的算法思想(1959) 源点s到顶点v的最短路径若为s…uv, 则s…u是s到u的最短路径。 (n-1)条最短路径按照其长度的非减次序求得,设它们的相应端点分别为u1, …un-1,最短路径长度记为d(s, ui) , i=1,…n-1. 假设前i条最短路径已知,第(i+1)条最短路径长度: d(s, ui+1)=min{d(s, uj) +W(uj, ui+1)| j=1,…i} 求最短路径的Dijkstra算法 输入:连通带权图G,|VG|=n, 指定顶点s?VG 输出:每个顶点v的标注(L(v), u), 其中: L(v)即从s到v的最短路径长度(目前可得的) u是该路径上v前一个顶点。 求最短路的一个例子 s 7 7 2 1 2 4 1 2 4 4 8 3 5 3 4 6 3 0 b a c d e f g h 求最短路的一个例子 s 7 7 2 1 2 4 1 2 4 4 8 3 5 3 4 6 3 0 1,c 2,c 8,c 7,c 4,c U1 b a c d e f g h s 7 7 2 1 2 4 1 2 4 4 8 3 5 3 4 6 3 0 1,c 2,c 8,c 7,c 4,c U2 b a c d e f g h 4,b S1 s 7 7 2 1 2 4 1 2 4 4 8 3 5 3 4 6 3 0 1,c 2,c 8,c 7,c 4,c U3 b a c d e f g h 4,b S2 3,e 6,e s 7 7 2 1 2 4 1 2 4 4 8 3 5 3 4 6 3 0 1,c 2,c 8,c 6,e 4,c b a c d e f g h U4 3,e 9,h S3 s 7 7 2 1 2 4 1 2 4 4 8 3 5 3 4 6 3 0 1,c 2,c 8,c 6,e 4,c b a c d e f g h U5 3,e 9,h S4 6,d 求最短路的一个例子(续) s 7 7 2 1 2 3 1 2 4 4 8 3 5 3 4 6 5 0 1 2 6 6 4 3 9 求最短路的一个例子(续) s 7 7 2 1 2 5 1 2 4 4 8 3 5 3 4 6 3 0 s 7 7 2 1 2 3 1 2 4 4 8 3 5 3 4 6 5 0 1 2 6 6 4 1 2 6 4 3 3 9 6 9 Dijkstra算法的描述 1.初始化:i=0, S0={s}, L(s)=0, 对其它一切v?VG, 将L(v) 置为?。 若n=1,结束。 2.?v?Si=VG-Si, 比较L(v)和L(ui)+W(ui, v)的值 (ui?Si) 如果L(ui)+W(ui, v)L(v), 则将v的标注更新为(L(ui)+W(ui, v), ui), 即: L(v)=min{ L(v), minu?Si{L(u)+W(u,v)} } 3. 对所有Si中的顶点,找出具有最小L(v)的顶点v, 作为ui+1 4.Si+1 = Si ?{ui+1} 5. i = i+1; 若i=n-1, 终止。否则:转到第2步。 Dijkstra算法的分析 可终止性 计数控制 正确性 需证明当算法终止时 L(v)=d(s, v)对一切v成立。 由标记中的诸ui确定的路径是一条最短路径 (这里d(s,v)是s到v的最短路径长度,即距离。) 复杂性 O(n2) 旅行商问题 (Travelling Salesman Problem, TSP ) n个城市间均有道路,但距离不等,旅行商从某地出发,走过其它n-1城市各一次,最后回到原地,如何选择最短路线? 数学模型: 无向带权图G:顶点对应于城市,边对应于城市之间的道路,道路长度用相应边的权表示。 问题的解:权最小的哈密尔顿回路。 G是带权完全图,总共有(n

文档评论(0)

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

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

1亿VIP精品文档

相关文档