Dijkstra最短路径的算法思想南京大学课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Dijkstra最短路径的算法思想南京大学课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Dijkstra 路径 算法 思想 南京大学 课件
- 资源描述:
-
1、最短通路问题最短通路问题离散数学离散数学图论初步图论初步南京大学计算机科学与技术系南京大学计算机科学与技术系内容提要内容提要l引言引言lDijkstra算法算法l旅行商问题(旅行商问题(TSP)埃德斯数(埃德斯数(Erds number)Paul Erds(1913-1996),Hungary,U.S.A.,IsraelErds number 带权图与最短通路问题带权图与最短通路问题l带权图带权图:三元组:三元组(V,E,W),(V,E)是图,是图,W是从是从E到到非负实数集的一个函数。非负实数集的一个函数。W(e)表示边表示边e的权。的权。l一条通路上所有边的权的和称为该通路的长度。一条通路
2、上所有边的权的和称为该通路的长度。l两点之间长度两点之间长度最小最小的通路称为两点之间的最短通路,的通路称为两点之间的最短通路,不一定是唯一的。不一定是唯一的。l单源点最短路问题单源点最短路问题 给定带权图给定带权图 G(V,E,W),并指定一个源点,确定该,并指定一个源点,确定该源点到图中其它任一顶点的最短路(长度和路径)。源点到图中其它任一顶点的最短路(长度和路径)。Dijkstra最短路径的算法思想最短路径的算法思想(1959)l源点源点s到顶点到顶点v的最短路径若为的最短路径若为suv,则则su是是s到到u的最短路径。的最短路径。l(n-1)条最短路径按照其长度的非减次序求得,设它条最
3、短路径按照其长度的非减次序求得,设它们的相应端点分别为们的相应端点分别为u1,un-1,最短路径长度记为,最短路径长度记为d(s,ui),i=1,n-1.l假设前假设前i条最短路径已知,第条最短路径已知,第(i+1)条最短路径长度:条最短路径长度:d(s,ui+1)=mind(s,uj)+W(uj,ui+1)|j=1,i求最短路径的求最短路径的Dijkstra算法算法l输入:连通带权图输入:连通带权图G,|VG|=n,指定顶点指定顶点s VGl输出:每个顶点输出:每个顶点v的标注的标注(L(v),u),其中:其中:lL(v)即从即从s到到v的最短路径长度(目前可得的)的最短路径长度(目前可得的
4、)lu是该路径上是该路径上v前一个顶点。前一个顶点。求最短路的一个例子求最短路的一个例子s77212412448353 4630bacdefgh求最短路的一个例子求最短路的一个例子s77212412448353 46301,c2,c8,c7,c4,cU1bacdefghs77212412448353 46301,c2,c8,c7,c4,cU2bacdefgh4,bS1s77212412448353 46301,c2,c8,c7,c4,cU3bacdefgh4,bS23,e6,es77212412448353 46301,c2,c8,c6,e4,cbacdefghU43,e9,hS3s77212
5、412448353 46301,c2,c8,c6,e4,cbacdefghU53,e9,hS46,d求最短路的一个例子求最短路的一个例子(续续)s77212312448353 46501266439求最短路的一个例子求最短路的一个例子(续续)s77212512448353 4630s77212312448353 465012664126433969Dijkstra算法的描述算法的描述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
展开阅读全文