我很难理解Floyd-Warshall algorithm。我知道它是怎么工作的
我知道怎么用手做,但我需要用电脑来理解
敏锐的。
FOR k <-- 1 TO N DO
FOR i <-- 1 TO N DO
FOR j <-- TO N DO
IF Djk + Dkj < DiJ THEN
Dij <-- djk + dkj
k
,i
和j
是迭代变量,它迭代到n
值,我猜这是一个嵌套循环,然后它看每个节点,然后它找到最短路径?
最佳答案
Floyd Warshall中k的一个非常简单的含义是图中的一个“方向点”最后两行可以解释为:“如果从i到k,然后从k到j的速度比从i到j的速度快,那么从i到j到k的路径将成为新的最短路径。”
关于algorithm - Floyd-Warshall算法如何工作,K是多少?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8243279/