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

posted @ 2020-02-26 13:25  SavenNeer  阅读(3991)  评论(0编辑  收藏  举报