在网上搜索了关于Dijkstra算法的matlab程序,发现流传较多的是:
https://blog.csdn.net/u013414501/article/details/50506907
观察程序发现这个程序仅仅适用于无向图,程序的第八行a=a+a',会在有向图时产生错误,删除后仍然不能很好的适应有向图;
所以自己动手写了一个,考虑到写的不多,如果有错误,希望留言纠正。
1.案例
本文的代码通过这个有向图来运行。例子来源:https://www.jianshu.com/p/2121406db974
2.代码
clc;clear all;
%输入距离矩阵(有向)
n=8;%顶点的个数
m=inf;
a=[0 1 2 9 m m m m
m 0 m 2 m m m m