最短路徑算法——Floyd算法

Floyd算法

數據結構圖論的最短路徑算法經典的有三種:
* Floyd Warshall算法
* Dijkstra算法
* Bellman-Ford 算法

Floyd 算法

Floyd算法可計算任意結點到所有結點的最短路徑,其時間複雜度爲

O(n3)

代碼

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

例子實戰分析

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章