Dijkstra算法就不多解释了,这个代码我是在论文实验里用到了,主要是用来找两个路由节点之间的最短路径。
代码写的比较随意。。。
function [ans] = djk(adj,start,des)
%% adj 所有节点构成的一个邻接矩阵
%% start 源节点序列号
%% des 目的节点序列号
%% ans 源节点到目的节点的路径长度
U=1:length(adj); %没有求出的最短路径节点的集合
next=ones(length(adj),1)*-1;
U(find(U==start))=[];
S=start; %已经求出最短路径的节点集合
dis=adj(start,:);
curdis=0;
lastnodes=ones(1,length(dis));
lastnodes=lastnodes*start;
while length(S)<

最低0.47元/天 解锁文章
2981

被折叠的 条评论
为什么被折叠?



