?? gfloyd.m
字號:
function [result,path,b,d]=gfloyd(a)
%a=[8 3 3 6 8 9 8 5 8 8 3 7 5 10 7 8];
c=[ 0 a(1) a(1) a(1) -100 -100 -100 -100 -100 -100 -100 -100 -100 -100 -100 -100;
-100 0 -100 -100 a(2) a(2) -100 -100 -100 -100 -100 -100 -100 -100 -100 -100;
-100 -100 0 -100 -100 -100 -100 -100 -100 a(3) a(3) -100 -100 -100 -100 -100;
-100 -100 -100 0 -100 -100 a(4) a(4) -100 -100 -100 -100 -100 -100 -100 -100;
-100 -100 -100 -100 0 -100 -100 -100 a(5) -100 -100 a(5) a(5) -100 -100 -100;
-100 -100 -100 -100 -100 0 -100 -100 -100 a(6) a(6) -100 -100 -100 -100 -100;
-100 -100 -100 -100 -100 -100 0 -100 -100 a(7) a(7) -100 -100 -100 -100 -100;
-100 -100 -100 -100 -100 -100 -100 0 -100 -100 -100 -100 -100 -100 a(8) -100;
-100 -100 -100 -100 -100 -100 -100 -100 0 a(9) a(9) -100 -100 -100 -100 -100;
-100 -100 -100 -100 -100 -100 -100 -100 -100 0 -100 -100 -100 a(10) -100 -100;
-100 -100 -100 -100 -100 -100 -100 -100 -100 -100 0 -100 -100 -100 a(11) -100;
-100 -100 -100 -100 -100 -100 -100 -100 -100 -100 -100 0 -100 -100 -100 a(12);
-100 -100 -100 -100 -100 -100 -100 -100 -100 -100 -100 -100 0 a(13) -100 -100;
-100 -100 -100 -100 -100 -100 -100 -100 -100 -100 -100 -100 -100 0 -100 a(14);
-100 -100 -100 -100 -100 -100 -100 -100 -100 -100 -100 -100 -100 -100 0 a(15);
-100 -100 -100 -100 -100 -100 -100 -100 -100 -100 -100 -100 -100 -100 -100 0 ;];
d=[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;];
for i=1:16
for j=1:16
for k=1:16
if c(i,j)+c(j,k)>0
if c(i,j)+c(j,k)>c(i,k)
c(i,k)=c(i,j)+c(j,k);
d(i,k)=j;
end
end
end
end
end
b=c;
l=1;
r=16;
path=zeros(1,16);
path(l)=l;
path(r)=r;
while d(l,r)~=r
m=d(l,r);
path(m)=m;
if d(l,m)~=m
r=m;
else
l=m;
end
end
result=c(1,16)+a(16);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -