用带权的有向图表示一个交通运输网,图中:
顶点——表示城市
边——表示城市间的交通联系
权——表示此线路的长度或沿此线路运输所花的时间或费用等
问题:从某顶点出发,沿图的边到达另一顶点所经过的路径中的最短路径。
定义:各边上权值之和最小的一条路径——最短路径
单源最短路径的Dijkstra算法
算法思想:按路径长度递增次序产生最短路径算法
把顶点集合V分成两组:
U:已求出最短路径的顶点的集合
S=V-U:尚未确定最短路径的顶点集合
将S中顶点按最短路径长度递增的次序加入到U中,
保证:
(1)从源点V0到U中各顶点的最短路径长度都不大于
从V0到S中任何顶点的最短路径长度
(2)每个顶点对应一个距离值
U中顶点:从V0到此顶点的最短路径长度
S中顶点:从V0到此顶点的只包括U中顶点作中间顶点的最短路径长度
#####任意顶点的最短路径弗洛伊德(Floyd)算法
每一对顶点的最短路径