在网上搜索了关于Dijkstra算法的matlab程序發现流传较多的是:
观察程序发现这个程序仅仅适用于无向图,程序的第八行a=a+a'会在有向图dijkstra算法时产生错误,删除后仍然不能很好的适应囿向图dijkstra算法;
所以自己动手写了一个考虑到写的不多,如果有错误希望留言纠正。
本文的代码通过这个有向图dijkstra算法来运行例子来源:
%输入距离矩阵(有向) %会有同时多个相同值得情况,所以采用随机数选取其中一个 s=r(s);%为s赋值为未迭代过的最小值顶点
由于是初学者语言功底较弱,特别解释一下s代表当次循环中选取的顶点,如i=2时s=2,即为B顶点