首页 > 技术文章 > 最短路径算法

akaneblog 2017-05-18 23:31 原文

  

   // 经过 1 号顶点
        for(i=1;i<=n;i++)
            for(j=1;j<=n;j++)
                if (e[i][j] > e[i][1]+e[1][j]) e[i][j]=e[i][1]+e[1][j];
        // 经过 2 号顶点
            for(i=1;i<=n;i++)
                for(j=1;j<=n;j++)
                    if (e[i][j] > e[i][2]+e[2][j]) e[i][j]=e[i][2]+e[2][j];
经过所有顶点
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(e[i][j]>e[i][k]+e[k][j])
e[i][j]=e[i][k]+e[k][j];

推荐阅读