4 最短路径.pdf
《4 最短路径.pdf》由会员分享,可在线阅读,更多相关《4 最短路径.pdf(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4 4讲:讲:最短路径最短路径 所谓最短路径问题是指:如果从图中某一顶点(称所谓最短路径问题是指:如果从图中某一顶点(称 为源点)出发到达另一顶点(称为终点)的路径可能不为源点)出发到达另一顶点(称为终点)的路径可能不 止一条,如何找到一条路径使得沿此路径上各边的权值止一条,如何找到一条路径使得沿此路径上各边的权值 总和达到最小。总和达到最小。 1.1.单源点最短路径单源点最短路径 2.2.所有顶点对之间的最短路径所有顶点对之间的最短路径 给定带权有向图给定带权有向图G G和源点和源点v v, , 求从求从v v到到G G中其余各顶点中其余各顶点 的最短路径。的最短路径。 V5 V0 V2
2、 V4 V1V3 100 30 10 60 10 20 505 V0 V2 V4 V3 V5 V0 始点始点 终点终点 Di 最短路径最短路径 V1 V2 V3 V4 V5 10 30 100 10 30 100 10 60 30 100 10 60 30 100 10 50 30 100 (V0, V2) (V0, V4) (V0, V5) (V0, V2) (V0, V4) (V0, V5) (V0, V2) (V0, V2, V3) (V0, V4) (V0, V5) (V0, V2) (V0, V2, V3) (V0, V4) (V0, V5) (V0, V2) (V0, V4, V3
3、) (V0, V4) (V0, V5) 10 50 30 90 (V0, V2) (V0, V4, V3) (V0, V4) (V0, V4, V5) 10 50 30 90 (V0, V2) (V0, V4, V3) (V0, V4) (V0, V4, V5) 10 50 30 60 (V0, V2) (V0, V4, V3) (V0, V4) (V0, V4, V3, V5) 10 50 30 60 (V0, V2) (V0, V4, V3) (V0, V4) (V0, V4, V3, V5) 第第4讲:讲:最短路径最短路径 第第4 4讲:最短路径讲:最短路径 如何在计算机中求如何在计算机
4、中求 得最短路径?得最短路径? 第第4 4讲:最短路径讲:最短路径 DijkstraDijkstra提出了一个按路径提出了一个按路径“长度长度”递增的次序,逐递增的次序,逐 步得到由给定源点到图的其余各点间的最短路径的算法:步得到由给定源点到图的其余各点间的最短路径的算法: n假设我们以邻接矩阵假设我们以邻接矩阵costcost表示所研究的有向网。表示所研究的有向网。 n迪杰斯特拉算法需要一个顶点集合,初始时集合内只迪杰斯特拉算法需要一个顶点集合,初始时集合内只 有一个源点有一个源点V V0 0 ,以后陆续将已求得最短路径的顶点,以后陆续将已求得最短路径的顶点 加入到集合中,到全部顶点都进入集
5、合了,过程就结加入到集合中,到全部顶点都进入集合了,过程就结 束了。集合可用一维数组来表示,设此数组为束了。集合可用一维数组来表示,设此数组为S S,凡,凡 在集合在集合S S以外的顶点,其相应的数组元素以外的顶点,其相应的数组元素SiSi为为0 0,否,否 则为则为 1 1 。 n另需一个一维数组另需一个一维数组D D,每个顶点对应数组的一个单元,每个顶点对应数组的一个单元, 记录从源点到其他各顶点当前的最短路径长度,其初值记录从源点到其他各顶点当前的最短路径长度,其初值 为为DiDi=costV=costV0 0ii,i=1i=1n n。数组。数组D D中的数据随着算法中的数据随着算法 的
6、逐步进行要不断地修改的逐步进行要不断地修改 n定义了定义了S S集合和集合和D D数组并对其初始化后,迪杰斯特拉算法数组并对其初始化后,迪杰斯特拉算法 在进行中,都是从在进行中,都是从S S之外的顶点集合中选出一个顶点之外的顶点集合中选出一个顶点w w, 使使DwDw 的值最小。于是从源点到达的值最小。于是从源点到达w w只通过只通过S S中的顶点,中的顶点, 把把 w w 加入集合加入集合S S中,并调整中,并调整D D中记录的从源点到集合中中记录的从源点到集合中 每个顶点每个顶点v v的距离:的距离: 取取DvDv 和和Dw+costwvDw+costwv 中值较小的作为新的中值较小的作为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java语言程序设计
限制150内