floyd.m

来自「matlab的常用函数工具包」· M 代码 · 共 23 行

M
23
字号
function f=Floyd(w)
n=length(w);
d{1}=w;
for i=2:n
    for j=1:n
        for k=1:n
            d{i}(j,k)=min(d{i-1}(j,:)+w(:,k)');
        end
    end
end
t=zeros(n,n);
for i=1:n
    for j=1:n
        m=inf;
        for k=1:n
            if d{k}(i,j)<=m
                m=d{k}(i,j);
            end
        end
        t(i,j)=m;
    end
end
f=t;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?