Transcript Floyd演算法介紹
Floyd演算法介紹 M0224005 劉奕顯 1 Floyd演算法(1/8) 完全最短路徑問題(All-pairs shortest-paths problem): 找到每個節點到其他所有節點的最短距離 距離矩陣:記錄最短路徑的長度 2 Floyd演算法(2/8) 生成距離矩陣 代表從第i個節點到第j個節點的最短路徑的長度, 且路徑中經過的中間節點數量不大於k 當 3 時 Floyd演算法(3/8) 4 Floyd演算法(4/8) 5 i j 2 3 2+3=5 4 3 6+3=9 Floyd演算法(5/8) 6 Floyd演算法(6/8) 7 Floyd演算法(7/8) 8 Floyd演算法(8/8) Floyd(W [1..n, 1..n]) //輸入:圖形的加權矩陣W //輸出:最短路徑長度的距離矩陣D D←W for k ← 1 to n do for i ← 1 to n do for j ← 1 to n do D[i,j] ← min{ D[i,j] , D[i,k]+D[k,j] } return D 9