图论是离散数学-网络与通信工程研究所-浙江工商大学
9. 图的应用 ——最短路径(1) 7.9 图的应用——最短路径(1) 7.9.1 背景 最短路径的典型应用是旅游路线的选择问题。 迪科斯彻 (E.W.Dijkstra,1930-2002),荷兰人, 著名计算机科学家。1972年获得图灵奖。Dijkstra的贡献有:提出“goto有害论”,提出信号量和PV原语,解决了有趣的“哲学家聚餐”问题,创造最短路径算法和银行家算法等 7.9.2 分类和评价 最短路径问题分为两种 求从某一点出发到其余各点的最短路径——用迪科斯彻(Dijkstra)算法 求图中每一对顶点之间的最短路径——用佛罗依德(Floyd)算法(又称为Floyd-Warshall算法) 虽然可以通过以图中每个顶点为源点重复调用n次Dijkstra算法来求出每一对顶点之间的最短路径,但是用Floyd算法可以更高效。这两种做法的时间复杂度都是O(n3)。 7.9 图的应用——最短路径(1) 7.9.2 分类和评价 Dijkstra算法局限于边的权值非负的情况。负权边情况可以用Bellman-Ford等算法。 Floyd算法可以在任何图中使用,包括带负权边的图。 什么时候边权重为负值? 比如:A上班离家里很远,他要选择一条从家里到公司的最佳路径,使得费用最小。而公司的话,对于做公交车的那段路有补贴,且补贴的钱大于坐公交车的费用,此时,在计算最小费用的时候,这条边的权值就应该定义为负值 7.9 图的应用——最短路径(1) 7.9.3 Dijkstra算法思路 对于图G=(V,E),将图中的顶点分成两组: 第一组S:已求出的最短路径的顶点集合。 第二组V-S:尚未求出的最短路径的顶点集合。 算法将按最短路径长度的递增顺序逐个将第二组的顶点加入到第一组中,直到所有顶点都被加入到第一组顶点集S为止。 7.9 图的应用——最短路径(1) 7.9.3 Dijkstra算法思路 Dijkstra算法的动画 7.9 图的应用——最短路径(1) 7.9.4 Dijkstra算法举例 问题:求解下图中从v1到其他顶点的最短距离。 7.9 图的应用——最短路径(1) 第一步,开始S={v1}。 7.9 图的应用——最短路径(1) 7.9.4 Dijkstra算法举例 i 1 2 3 4 5 6 path[i] v1 ? ? ? ? ? dist[i] 0 50 10 ∞ 45 ∞ path[i]中存放顶点i的当前最短路径(为区分中间结果和最后结果,这里只显示最后结果)。 dist[i]中存放顶点i的当前最短路径长度。 第二步,v3的dist[i]最小,因此把v3加入S。 7.9 图的应用——最短路径(1) 7.9.4 Dijkstra算法举例 i 1 2 3 4 5 6 path[i] v1 ? ?v1v3 ? ? ? dist[i] 0 50 10 25 45 ∞ 第三步,v4的dist[i]最小,因此把v4加入S。 7.9 图的应用——最短路径(1) 7.9.4 Dijkstra算法举例 i 1 2 3 4 5 6 path[i] v1 ? ?v1v3 ?v1v3v4 ? ? dist[i] 0 45 10 25 45 ∞ 第四步,v2和v5的dist[i]最小,因此把v2和v5加入S。 7.9 图的应用——最短路径(1) 7.9.4 Dijkstra算法举例 i 1 2 3 4 5 6 path[i] v1 ?v1v3v4v2 ?v1v3 ?v1v3v4 ?v1v5 ? dist[i] 0 45 10 25 45 ∞ 第五步,v6没改进,还是∞。算法结束。 10. 图的应用 ——最短路径(2) 7.10.1 Floyd算法思路 算法分成n个步骤(n是顶点数量)。 在第k(k=1,...,n)步,判断所有的i和j(i=1,...,n,j=1,...,n)两个顶点之间距离能否通过第k个顶点而缩短。即若有i和j之间的当前距离dist(ij) dist(ik)+ dist(kj),则更新dist(ij)。 当查完所有的k时,dist(ij)里面存放的就是i到j之间的最短距离了。 7.10 图的应用——最短路径(2) 7.10.2 Floyd算法举例 问题:求解下图中每一对顶点之间的最短距离。 7.10 图的应用——最短路径(2) 初始状态 7.10 图的应用——最短路径(2) 7.10.2 Floyd算法举例 第一步 对不在三条线上的元素进行判断。举例说明,因为dist(3,2)=∞dist(3,1)+dist(1,2)=20+50=70 所以dist(3,2)更新为70 7.10 图的应用——最短路径(2) 7.10.2 Floyd算法举例 第二步 7.10 图的应用——最短路径(2) 7.10.2 Floyd算法举例 第三步 7.1
您可能关注的文档
- 喜字呢剪纸步骤.PPT
- 善用‘行政手段’确保膳食营养均衡-EDB.PPT
- 喷香的烤鹅-田东教育资源中心.PPT
- 嘉兴检测服务资源汇总表纺织行业类可提供检测.DOC
- 嘉兴第一医院门诊自助机.DOC
- 噪声控制工程试验讲义-苏州科技大学环境与政工程综合训练中心.DOC
- 囊萤车胤映雪.PPT
- 四则-复旦大学出土文献与古文字研究中心.DOC
- 四川医疗机构药师规范化培训标准试行.DOC
- 四川雅康高速公路有限责任公司.DOC
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 12S10管道支架、吊架建筑工程规范图集.pdf VIP
- 铸造工艺学(课本).pdf VIP
- 部编版二年级下册语文全册《写字表》生字字帖.pdf VIP
- 数学六年级上册100道口算题大全(全册各类齐全18份).doc VIP
- 八年级物理寒假提升精品讲义第01讲 力(预习)(原卷版).pdf VIP
- 波谱分析法课件.ppt VIP
- 数学分析第五版(上册)华东师大习题答案解析.docx
- 运筹学基础及应用-第1章-线性规划及单纯形法(胡运权版).ppt VIP
- 八年级物理寒假提升精品讲义第01讲 力(预习)(解析版).docx VIP
- 11S405-4 建筑给水塑料管道安装通用详图国标 建筑图集 汇编 .docx VIP
原创力文档

文档评论(0)