floyd.m

来自「Matlab经典算法__Arithmetic」· M 代码 · 共 27 行

M
27
字号
   function [d,r]=floyd(a)
 %floyd.m
 %采用floyd算法计算图a中每对顶点最短路
 %d是矩离矩阵
 %r是路由矩阵
   n=size(a,1);
    d=a;
     for i=1:n
         for j=1:n
                 r(i,j)=j;
          end 
     end 
       r
      for k=1:n
           for i=1:n
                for j=1:n
                     if d(i,k)+d(k,j)<d(i,j)
                          d(i,j)=d(i,k)+d(k,j);
                           r(i,j)=r(i,k)
                      end 
                 end 
           end
           k
           d
           r
        end
 

⌨️ 快捷键说明

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