最短路径算法1—多源点Floyd

来源:互联网 发布:2017人工智能高峰论坛 编辑:程序博客网 时间:2024/05/29 18:03

Floyd-Warshall算法(Floyd-Warshall algorithm)是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题,同时也被用于计算有向图的传递闭包。Floyd-Warshall算法的时间复杂度为O(N3),空间复杂度为O(N2)。


很简单其实
for ( int i = 0; i < 节点个数; ++i ){    for ( int j = 0; j < 节点个数; ++j )    {        for ( int k = 0; k < 节点个数; ++k )        {            if ( Dis[i][k] + Dis[k][j] < Dis[i][j] )            {                // 找到更短路径                Dis[i][j] = Dis[i][k] + Dis[k][j];            }        }    }}
要注意嵌套顺序!!!


0 0