floyd.m
来自「10组图论编程」· M 代码 · 共 27 行
M
27 行
function y=floyd(D)
%求网络中任意2点之间的最短路。
M=inf;
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';
if nargin==0
D=a;
end
N=length(D);
p=D;
q=[];
for n=2:N
temp=[];
for x=1:N
temp=[temp;p(x,n)*ones(1,N)+p(n,:)];
end
q=min(p,temp);
p=q;
end
p
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?