数据结构——基于C++语言(微课版) 课件 13-所有顶点之间的最短路径.ppt

数据结构——基于C++语言(微课版) 课件 13-所有顶点之间的最短路径.ppt

本节内容:所有顶点之间的最短路径问题最短路径

最短路径所有顶点之间的最短路径问题问题描述:给定一个带权有向图G,求图中每一对顶点v和w之间的最短路径。求解方法一:如果图中各条弧上的权值均大于0,则分别以每一个顶点为源点,重复执行Dijkstra算法n次,总的执行时间为O(n3)。求解方法二:弗洛伊德(Floyd)算法

最短路径所有顶点之间的最短路径问题算法思想:逐个顶点试探法;求最短路径步骤:(1)初始时设置一个n阶方阵,令其对角线元素为0,若存在弧Vi,Vj,则对应元素为权值;否则为?;(2)逐步试着在原直接路径中增加中间顶点,若加入中间点后路径变短,则修改之;否则,维持原值;(3)所有顶点试探完毕,算法结束。

最短路径所有顶点之间的最短路径问题ACB264311046602370加入B:路径:ABABCBABCCACAB0411602370加入A:路径:ABACBABCCACAB046502370加入C:路径:ABABCBCA

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档