Dijkstra算法(Matlab实现)
1 a = [1,1,1,2,2,3,4]; % 起点节点 2 b = [2,3,4,3,5,4,5]; % 终点节点 3 c = [3,2,2,1,3,4,3]; % 对应权值 4 g = digraph(a,b,c); % 创建图 5 [path,distance] = shortestpath(g,1,5); % 计算最短路 6 plot(g) %显示图,没必要显示可以不写
在Matlab中有可以计算最短路的函数,先用digraph生成加权图,再用shortestpath计算最短路。
Matlab代码可以计算上面有向图中节点 1 到 5 的最短路,path是最短路的路径,distance是最短距离。
OK