%我自己写的一个最短路算法,matlab程序
(过去写的,在我的百度空间上面也有)
clear;
clc;
M=1000;
a(1,:)=[0,50,M,40,25,10];
a(2,:)=[zeros(1,2),15,20,M,25];
a(3,:)=[zeros(1,3),10,20,M];
a(4,:)=[zeros(1,4),10,25];
a(5,:)=[zeros(1,5),55];
a(6,:)=zeros(1,6);
a=a+a';
%----------以上为矩阵数据--------------
d=a(1,:)
a(:,1)=a(:,1)+M;
t=1;
Row=1;
while t<=length(a)
temp=find(a(Row,:)==min(a(Row,:)));
for i=1:length(temp);
a(:,temp(1))=a(:,temp(1))+M;
if min(a(Row,:))+d(Row)<d(temp(i))
d(temp(i))=min(a(Row,:))+d(Row)
end
end
a
Row
t=t+1;
Row=temp(1);
for i=2:length(temp);
a(:,temp(i))=a(:,temp(i))-M;
end
end
d