最短路问题ppt课件_第1页
最短路问题ppt课件_第2页
最短路问题ppt课件_第3页
最短路问题ppt课件_第4页
最短路问题ppt课件_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,赋权图,给定赋权图的一个子图H,定义H的权为H的所有边权的总和。,最短路问题,对图G的每条边e,赋予一实数(e),称为边e的权,可得一赋权图。,2,赋权图中一条路的权称为路长。,在一个赋权图G上,给定两个顶点u和v,所谓u和v最短路是指所有连接顶点u和v的路中路长最短的路;,u和v最短路的路长也称为u和v的距离。,U,D,B,V,C,E,A,2,2,7,4,1,4,7,3,1,5,5,5,3,Dijkstra算法的基本思想:,(1),u0,u1,P,设S是V的真子集,,如果是从u0到的最短路,,4,算法标号,令lij表示从顶点vi到顶点vj的距离;dij表示连接顶点vi与顶点vj边上的权,即,公式(1)是Dijkstra算法的基础。算法以标号方式进行,每进行一次都增加一个标号点,直至找到所求的最短路。,(1),5,Dijkstra算法步骤,Step0在点vs上标号lss=0;,Step4lst是所求的最短路长,反向追踪找出所求vs-vt最短路.,Step3令,Step2令S表示所有已标号点,表示未标号点,计算lsj,转Step3,Step1若vt已标号,转Step4;否则转Step2;,6,计算实例,求连接S、V的最短路,S,D,B,V,C,E,A,2,2,7,4,1,4,7,3,1,5,5,5,7,S,D,B,V,C,E,A,2,2,7,4,1,4,7,3,1,5,5,5,0,2,s,5,s,4,s,,s,,s,,s,0,2,s,2,s,8,S,D,B,V,C,E,A,2,2,7,4,1,4,7,3,1,5,5,5,0,2,s,5,s,4,s,,s,,s,,s,0,2,s,2,s,9,A,4,A,4,s,9,S,D,B,V,C,E,A,2,2,7,4,1,4,7,3,1,5,5,5,0,2,s,5,s,4,s,,s,,s,,s,0,2,s,2,s,9,A,4,A,4,s,8,C,4,A,10,S,D,B,V,C,E,A,2,2,7,4,1,4,7,3,1,5,5,5,0,2,s,5,s,4,s,,s,,s,,s,0,2,s,2,s,9,A,4,A,4,s,8,C,4,A,7,B,7,B,11,S,D,B,V,C,E,A,2,2,7,4,1,4,7,3,1,5,5,5,0,2,s,5,s,4,s,,s,,s,,s,0,2,s,2,s,9,A,4,A,4,s,8,C,4,A,7,B,7,B,8,E,14,E,8,E,12,S,D,B,V,C,E,A,2,2,7,4,1,4,7,3,1,5,5,5,0,2,s,5,s,4,s,,s,,s,,s,0,2,s,2,s,9,A,4,A,4,s,8,C,4,A,7,B,7,B,8,E,14,E,8,E,13,D,13,D,13,LUV=13;S-V最短路为SABEDV,S,D,B,V,C,E,A,2,2,7,4,1,4,7,3,1,5,5,5,0,2,s,5,s,4,s,,s,,s,,s,0,2,s,2,s,9,A,4,A,4,s,8,C,4,A,7,B,7,B,8,E,14,E,8,E,13,D,13,D,14,实例评述,Dijkstra算法不仅找到了所求最短路,而且找到了从S点到其他所有顶点的最短路;这些最短路构成了图的一个连通无圈的支撑子图,即图的一个支撑树。,S,D,B,V,C,E,A,2,2,7,4,1,4,7,3,1,5,5,5,0,2,s,5,s,4,s,,s,,s,,s,0,2,s,2,s,9,A,4,A,4,s,8,C,4,A,7,B,7,B,8,E,14,E,8,E,13,D,13,D,15,Dijkstra算法也适用于有向赋权图.,S,D,B,V,C,E,A,7,1,2,2,4,4,7,3,1,5,5,5,16,选址问题,设G表示一个矿区的交通运输图,矿井和之间的里程是;现在需建一个矿区煤炭运输站,把运输站设在哪个矿井所在地才能使得离运输站距离最远的矿井可运输里程最短。这就是最简单的选址问题。矿区的交通运输图是一个赋权图,每个矿井是图的一个顶点。在赋权图G中,定义顶点u的离距为:,17,中心问题,网络G的一个中心是满足下列条件的G的顶点u选址问题可化为求G的中心问题。求图的中心的算法过程:用Dijkstra算法求出G的任意两点间的距离;求出每点的离距d(v)求满足(2)的顶点v即是中心,(2),18,实例,图7-15给出了一个矿区的交通运输图。应把运输站建在哪个矿井才能满足选址要求?,v3,v4,v5,v2,v6,v1,v7,6,3,2,2,1.5,3,1.8,1.5,2.5,这个问题实际上只需求出G的一个中心即可。按上面的算法过程,首先利用Dijkstra算法得到图7-15的距离表;再求出每个点的离距,最后找出离距的最小者v6就是建运输站的矿井。,4.8,v*=,19,20,注:,Dijkstra算法只适用于所有ij0的情形,当赋权有向图中存在负权时,算法失效。如,用Dijkstra算法可以得出从1到v2的最短路的权是1,但实际上从1到v2的最短路是(1,v3,v2),权是-1。,21,下面介绍具有负权赋权有向图D的最短路的算法。,不妨假设从任一点vi到任一点vj都有一条弧(如果在D中,(vi,vj)A,则添加弧(vi,vj)令wij=+)。,显然,从vs到任一点vj的最短路总是从vs出发到某个点vi,再沿(vi,vj)到vj

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论