美文网首页
Floyd-Warshall算法

Floyd-Warshall算法

作者: 阿_贵 | 来源:发表于2018-10-30 12:18 被阅读0次

    初始化

    从row到col的距离,row为行数,col为列数

    例如:2到3的距离=3

    以 1 为中介点

    3到2=max  > 3到1=7 + 1到2=2,所以更新为9

    4到2=max  > 4到1=5 + 1到2=2,所以更新为7

    4到3=12  > 4到1=5 + 1到3=6,所以更新为11

    以 2 为中介点

    1到3=6  > 1到2=2 + 2到3=3,所以更新为5

    4到3=11  > 4到2=7 + 2到3=3,所以更新为10

    以 3 为中介点

    2到1=max  > 2到3=3 + 3到1=7,所以更新为10

    2到4=max  > 2到3=3 + 3到4=1,所以更新为4

    以 4 为中介点

    2到1=10  > 2到4=4 + 4到1=5,所以更新为9

    3到1=7  > 3到4=1 + 4到1=5,所以更新为6

    3到2=9  > 3到4=1 + 4到2=7,所以更新为8

    时间复杂度:O(n*n*n)

    核心代码:

     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];

    相关文章

      网友评论

          本文标题:Floyd-Warshall算法

          本文链接:https://www.haomeiwen.com/subject/jhqgtqtx.html