数据结构 最短路径ppt课件.ppt
《数据结构 最短路径ppt课件.ppt》由会员分享,可在线阅读,更多相关《数据结构 最短路径ppt课件.ppt(26页珍藏版)》请在三一办公上搜索。
1、专题3:最短路径,1,2,3,最短路径的定义,Dijkstra算法,Floyd算法,在非网图中,最短路径是指两顶点之间经历的边数最少的路径。,6.4 最短路径,最短路径,AE:1ADE:2 ADCE:3ABCE:3,最短路径,在网图中,最短路径是指两顶点之间经历的边上权值之和最短的路径。,AE:100ADE:90 ADCE:60 ABCE:70,6.4 最短路径,问题描述:给定带权有向图G(V, E)和源点vV,求从v到G中其余各顶点的最短路径。,单源点最短路径问题,应用实例计算机网络传输的问题:怎样找到一种最经济的方式,从一台计算机向网上所有其它计算机发送一条消息。,迪杰斯特拉(Dijkst
2、ra)提出了一个按路径长度递增的次序产生最短路径的算法Dijkstra算法。,6.4 最短路径,基本思想:设置一个集合S存放已经找到最短路径的顶点,S的初始状态只包含源点v,对viV-S,假设从源点v到vi的有向边为最短路径。以后每求得一条最短路径v, , vk,就将vk加入集合S中,并将路径v, , vk , vi与原来的假设相比较,取路径长度较小者为最短路径。重复上述过程,直到集合V中全部顶点加入到集合S中。,Dijkstra算法,6.4 最短路径,Dijkstra算法伪代码,6.4 最短路径,设源点v,w表示从顶点v到顶点vj的权值,dist(v, vj)表示从顶点v到顶点vj的最短路径
3、长度,Dijkstra算法的基本思想用伪代码描述如下:,1. 初始化:集合S = v;dist(v, vj) = w, (j=1.n);2. 重复下述操作直到S = V 2.1 dist(v, vk) = mindist(v, vj), (j=1.n); 2.2 S = S + vk; 2.3 dist(v, vj)=mindist(v, vj), dist(v, vk) + w;,10,50,30,10,100,20,60,S=AAB:(A, B)10AC:(A, C)AD: (A, D)30AE: (A, E)100,Dijkstra算法,6.4 最短路径,10,50,30,10,100,
4、20,60,S=A, BAB:(A, B)10AC:(A, B, C)60AD: (A, D)30AE: (A, E)100,Dijkstra算法,6.4 最短路径,10,50,30,10,100,20,60,S=A, B, DAB:(A, B)10AC:(A, D, C)50AD: (A, D)30AE: (A, D, E)90,Dijkstra算法,6.4 最短路径,10,50,30,10,100,20,60,S=A, B, D, CAB:(A, B)10AC:(A, D, C)50AD: (A, D)30AE: (A, D, C, E)60,Dijkstra算法,6.4 最短路径,10,
5、50,30,10,100,20,60,Dijkstra算法,S=A, B, D, C, EAB:(A, B)10AC:(A, D, C)50AD: (A, D)30AE: (A, D, C, E)60,6.4 最短路径,图的存储结构:带权的邻接矩阵存储结构,数组distn:每个分量disti表示当前所找到的从始点v到终点vi的最短路径的长度。初态为:若从v到vi有弧,则disti为弧上权值;否则置disti为。,数组sn:存放源点和已经生成的终点,其初态为只有一个源点v。,数据结构 :,6.4 最短路径,1. 初始化数组dist和s;2. while (s中的元素个数n) 2.1 在distn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 最短路径ppt课件 路径 ppt 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-1924656.html