Floyd-Warshall算法
维基百科,自由的百科全书
Floyd-Warshall算法是解决任意两点间的最短路径的一种算法,可以正確處理有向圖(Directed Graph)或負數的代價(negtive cost)的最短路径問題。Floyd-Warshall算法的时间复杂度為O(N3)。
[编辑] 概述
Floyd-Warshall算法的描述如下:
for k ← 1 to n do for i ← 1 to n do for j ← 1 to n do if (Di,k + Dk,j < Di,j) then Di,j ← Di,k + Dk,j;
其中Di,j表示由點i到點j的代價(cost),當Di,j為 ∞ 表示兩點之間沒有任何連接(Disconnected)。