




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,1.问题的提出:已知一个各边权值均大于0的带权有向图,对每一对顶点vivj,要求求出vi与vj之间的最短路径和最短路径长度。,2.解决办法方法一:每次以一个顶点为源点,重复执行Dijkstra算法n次T(n)=O(n)方法二:弗洛伊德(Floyd)算法,1,5/2/2020,2,求最短路径步骤初始时设置一个n阶方阵,令其对角线元素为0,若存在弧,则对应元素为权值;否则为逐步试着在原直接路径中增加中间顶点,若加入中间点后路径变短,则修改之;否则,维持原值所有顶点试探完毕,算法结束,3.Floyd算法思想:逐个顶点试探法,2,5/2/2020,从图的带权邻接矩阵G.arcs出发,假设求顶点Vi到Vj的最短路径。如果从Vi到Vj有弧,则从Vi到Vj存在一条长度为G.arcsij的路径,但该路径是否一定是最短路径,还需要进行n次试探。,1.第一次,判别(Vi,V0)和(V0,Vj),即判别(Vi,V0,Vj)是否存在,若存在,则比较(Vi,Vj)和(Vi,V0,Vj)的长度,取长度较短的为从Vi到Vj的中间顶点序号不大于0的最短路径。,3,5/2/2020,2.第二次,再加一个顶点V1,如果(Vi,V1)和(V1,Vj)分别是当前找到的中间顶点序号不大于0的最短路径,那么(Vi,V1,Vj)就有可能是从Vi到Vj的中间顶点序号不大于1的最短路径。将它和已经得到的从Vi到Vj之间顶点序号不大于0的最短路径相比较,取较短者为从Vi到Vj的中间顶点序号不大于1的最短路径。,3.第三次,再加一个顶点V2,继续进行试探。,4,5/2/2020,D(-1)=,D(-1)为有向网的邻接矩阵第一步:以D(-1)为基础,以V0为中间顶点,求从Vi到Vj的最短路径。该路径或者为从Vi到Vj的边,或者为(Vi,V0)+(V0,Vj)。,D(0)ij=,minD(-1)ij,D(-1)i0+D(-1)0j,D(0)ij为从Vi到Vj的中间顶点序号不大于0的最短路径长度.,5,2020/5/2,以D(0)为基础,以V1为中间顶点,求从Vi,到Vj的最短路径。该路径或者为从Vi到Vj的边,或者为从Vi开始通过V0或V1到达Vj的最短路径。,D(1)ij=,minD(0)ij,D(0)i1+D(0)1j,6,2020/5/2,以D(1)为基础,以V2为中间顶点,求从Vi,到Vj的最短路径。或者为从Vi到Vj的边,或者为从Vi开始通过V0,V1,V2到达Vj的最短路径。,D(2)ij=,minD(1)ij,D(1)i2+D(1)2j,7,2020/5/2,以D(2)为基础,以V3为中间顶点,求从Vi,到Vj的最短路径。或者为从Vi到Vj的边,或者为从Vi开始通过V0,V1,V2,V3到达Vj的最短路径。,D(3)ij=,minD(2)ij,D(2)i3+D(2)3j,D(3)ij即为从Vi到Vj的最短路径长度.,8,2020/5/2,9,例题:,9,5/2/2020,10,10,5/2/2020,11,4.论点:A(-1)ij是从顶点vi到vj,中间顶点是v1的最短路径的长度,A(k)ij是从顶点vi到vj,中间顶点的序号不大于k的最短路径的长度,A(n-1)ij是从顶点vi到vj的最短路径长度。证明:归纳证明,始归纳于s(上角标);(1)归纳基础:当s=-1时,A(-1)ij=Edgeij,vi到vj,不经过任何顶点的边,是最短路径。(2)归纳假设:当sk时,A(s)ij是从顶点vi到vj,中间顶点的序号不大于s的最短路径的长度;(3)当s=k时,,11,5/2/2020,12,i,j,k,A(k-1)ik,A(k-1)kj,A(k-1)ij,因为:A(k)ij=minA(k-1)ij,A(k-1)ik+A(k-1)kj由归纳假设知:A(k-1)ij:是i到j的最短路径(标号不高于k-1);A(k-1)ik:是i到k的最短路径(标号不高于k-1);A(k-1)kj:是k到j的最短路径(标号不高于k-1);所以:A(k)ij是i到j的最短路径(标号不高于k)。,12,5/2/2020,13,图用邻接矩阵存储edge存放最短路径长度pathij是从Vi到Vj的最短路径上Vj前一顶点序号,5.算法实现,voidfloyd()for(inti=0;in;i+)/矩阵dist与path初始化for(intj=0;jn;j+)/置A(-1)distij=Edgeij;pathij=-1;/初始不经过任何顶点for(intk=0;kn;k+)/产生dist(k)及path(k)for(i=0;in;i+)for(j=0;jn;j+)if(distik+distkjdistij)distij=distik+distkj;pathij=k;/缩短路径,绕过k到j/floyd,13,5/2/2020,14,6.算法分析:设最内层循环体为基本操作,算法有三层循环,每层循环n次,所以T(n)=O(n3),14,5/2/2020,15,15,5/2/2020,16,以Path(3)为例,对最短路径的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 消防证模拟考试题及答案
- 女性卫生用品生产线项目技术方案
- 2025贵州省妇幼保健院第十三届贵州人才博览会引才1人模拟试卷完整参考答案详解
- 智能化净菜加工系统集成方案
- 氢能产业园加氢站项目经济效益和社会效益分析报告
- 地沟油收处站建设项目经济效益和社会效益分析报告
- 2025年山东兴罗投资控股有限公司招聘工作人员(14人)考前自测高频考点模拟试题附答案详解(黄金题型)
- 建筑项目成本控制方案
- 2025涟水县事业单位招聘人员40人考前自测高频考点模拟试题附答案详解(模拟题)
- 2025年种苗繁育员考试题及答案
- 人工智能技术及应用习题答案题库
- 坚持人民至上 工会研讨发言
- 杭州师范大学2013年841无机化学考研真题
- 美学原理全套教学课件
- 期末复习(课件)新思维英语四年级上册
- 子宫脱垂试题及答案
- 中国政治思想史复习资料
- 高中音乐鉴赏 第一单元 学会聆听 第一节《音乐要素及音乐语言》
- 20以内加减法口算题3500道直接打印
- 走好群众路线-做好群众工作(黄相怀)课件
- 北斗卫星导航系统(全套课件208P)
评论
0/150
提交评论