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

第21讲最短路径与图的小结.ppt

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

数 据 结 构 主讲:信息工程大学电子技术学院 402教研室;第7章 图 7.1 图的定义和术语 7.2 图的存储结构 7.3 图的遍历 7.4 图的连通性问题 7.5 有向无环图及其应用 7.6 最短路径;7.6 最短路径 ;7.6.1 单源点最短路径;如何在计算机中求得最短路径?; Dijkstra提出了一个按路径“长度”递增的次序,逐步得到由给定源点到图的其余各点间的最短路径的算法: 假设我们以邻接矩阵cost表示所研究的有向网。 迪杰斯特拉算法需要一个顶点集合,初始时集合内只有一个源点V0 ,以后陆续将已求得最短路径的顶点加入到集合中,到全部顶点都进入集合了,过程就结束了。集合可用一维数组来表示,设此数组为S,凡在集合S以外的顶点,其相应的数组元素S[i] 为 0 ,否则为 1 。;另需一个一维数组D,每个顶点对应数组的一个单元,记录从源点到其他各顶点当前的最短路径长度,其初值为D[i]=cost[V0][i],i=1…n。数组D中的数据随着算法的逐步进行要不断地修改 定义了S集合和D数组并对其初始化后,迪杰斯特拉算法在进行中,都是从S之外的顶点集合中选出一个顶点w,使D[w]的值最小。于是从源点到达w只通过S中的顶点,把 w 加入集合S中,并调整D中记录的从源点到集合中每个顶点v的距离: 取D[v]和D[w]+cost[w][v]中值较小的作为新的D[v] 重复上述,直到S中包含V中其余各顶点的最短路径。; V0 V1 V2 V3 V4 V5 V0 ∞ ∞ 10 ∞ 30 100 V1 ∞ ∞ 5 ∞ ∞ ∞ V2 ∞ ∞ ∞ 50 ∞ ∞ V3 ∞ ∞ ∞ ∞ ∞ 10 V4 ∞ ∞ ∞ 20 ∞ 60 V5 ∞ ∞ ∞ ∞ ∞ ∞ ;7.6 最短路径 ;问题描述: ???? 已知一个各边权值均大于 0 的带权有向图,对每对顶点 vi≠vj,要求求出每一对顶点之间的最短路径和最短路径长度。 解决方案: 1. 每次以一个顶点为源点,重复执行迪杰斯特拉算法n次。这样,便可求得每一对顶点之间的最短路径。总的执行时间为O(n3)。 2. 形式更直接的弗洛伊德(Floyd)算法。时间复杂度也为O(n3)。;弗洛伊德算法思想: 假设求从顶点Vi到Vj的最短路径。如果从Vi到Vj有弧,则从Vi到Vj存在一条长度为arcs[i][j]的路径,该路径不一定是最短路径,尚需进???n次试探。 首先考虑路径(Vi,V0,Vj)是否存在(即判别(Vi,V0)、(V0,Vj)是否存在)。如存在,则比较(Vi,Vj)和(Vi,V0,Vj)的路径长度,取长度较短者为从 Vi到Vj 的中间顶点的序号不大于0 的最短路径。假如在路径上再增加一个顶点 V1,…依次类推。可同时求得各对顶点间的最短路径。;定义一个n阶方阵序列 D(-1),D(0),D(1),D(2),…,D(k),…,D(n-1) 其中: D(-1)[i][j]= arcs[i][j] D(k)[i][j]=Min { D(k-1)[i][j], D(k-1)[i][k]+ D(k-1)[k][j] } 0≤k≤n-1 可见,D(1)[i][j]就是从vi到vj的中间顶点的序号不大于1的 最短路径的长度; D(k)[i][j]就是从vi到vj的中间顶点的序号不大于k的 最短路径的长度; D(n-1)[i][j]就是从vi到vj的最短路径的长度。; 各顶点间的最短路径及其路径长度 ;本章小结 1.熟练图的各种存储结构及构造算法,了解实际问题的求解效率与采用何种存储结构和算法有密切联系。 2.熟练掌握图的两种搜索路径的遍历及算法。 3.掌握以下内容: 图的最小生成树和求最小生成树算法的思想; 利用AOV网络的拓扑排序问题; 利用AOE网络的关键路径法; 带权有向图的最短路径问题。

文档评论(0)

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

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

1亿VIP精品文档

相关文档