标签:图论 最短路算法 路径问题 经典dijkstra算法
========================================================
function [d index1 index2]=Dijkstra(W)
%d-最短距离,index1-路径排序(升),index2-指向来源(上一个点,递归可得路径)例:求下图中顶点1到其它点的最短距离。
解:
(1)写权值矩阵
quanzhijuzhen=[ 0 2 8 1 Inf Inf Inf Inf
2 0 6 Inf 1 Inf Inf Inf
8 6 0 7 5 1 2 Inf
1 Inf 7 0 Inf Inf 9 Inf
Inf 1 5 Inf 0 3 Inf 8
Inf Inf 1 Inf 3 0 4 6
Inf Inf 2 9 Inf 4 0 3
Inf Inf Inf Inf 8 6 3 0]
(2)带入程序(格式整理后输出如下)
>> [d index1 index2]=Dijkstra(quanzhijuzhen)
d =
0 2 7 1 3 6 9 11
index1 =
1 4 2 5 6 3 7 8
index2 =
1 1 6 1 2 5 3 5
d——顶点1到点1-8的最短距离分别为0 2 7 1 3 6 9 11;
index1——到其他点的距离排序,即1最近(0),4次之(1),后依次为2(2),5(3),6(6),3(7),7(9),8(11);
index2——各点的上游编号,例如到点5的路径可这样推算:index2(5)=2,index2(2)=1(已经到顶点,结束),则路径为1—>2—>5.
版权声明:博主文章可以被非商用转载,但请务必注明出处,因水平有限,难免出错,在此免责。
标签:图论 最短路算法 路径问题 经典dijkstra算法
原文地址:http://blog.csdn.net/lzx19901012/article/details/47832719