2016-12-11 58 views
0

This維基百科頁面解釋了Floyd Warshall算法,以找到圖中節點之間的最短路徑。維基百科頁面使用圖像uses the graph on the left of the image左側的圖作爲起始圖(在第一次迭代之前,當k = 0時),然後顯示剩餘的迭代(k = 1等),但它不能解釋節點之間的數字以及如何計算這些數字。例如,在k = 0的起始圖中,爲什麼在1和3之間的邊上有-2,爲什麼在2和3之間的邊上有3。弗洛伊德節點之間的距離warshall

此外,當k = 2時,維基百科頁說,

[4,2,3]不考慮,因爲[2,1,3]是最短 路徑中遇到這樣的路徑遠離2至3.

爲什麼[2,1,3]比[4,2,3]短?

回答

1

邊上的數字只是權重。這是輸入的一部分。該算法不計算它們。

[2,1,3]不小於[4,2,3]。不過,它比[2,3]短。這是唯一重要的事情。

+0

好的,爲什麼[2,1,3]比[2,3]短?因爲2-> 1(4重量)和1-> 3(-2重量)等於2(總重量),而[2,3]是3? – Leahcim

+0

@Leahcim是的。路徑的長度是其邊緣權重的總和。 – kraskevich