最短路径算法——Floyd算法

Floyd算法

数据结构图论的最短路径算法经典的有三种:
* Floyd Warshall算法
* Dijkstra算法
* Bellman-Ford 算法

Floyd 算法

Floyd算法可计算任意结点到所有结点的最短路径,其时间复杂度为

O(n3) O ( n 3 )

代码

   void InitializeDistanceMatrix(Directed_Weighted_Graph *G);
   for(int k = 0; k < n; k++) {
     for(int i = 0; i < n; i++) {
       if(D[i][j] > D[i][k] + D[k][j])
          D[i][j] = D[i][k] + D[k][j];
     }
   }

例子实战分析

你可能感兴趣的:(数据结构,Data,Structure,算法,algorithm)