弗洛伊德的最短路径算法?

时间:2015-12-16 02:58:13

标签: algorithm path-finding

我想我在这里遇到了一些问题 这是我给出的矩阵 enter image description here

我应该找到通过顶点k = 0的路径的成本, 1,2和3。 对于顶点k = 0,有

0,10,30,inf

15,0,inf,inf

inf,5,0,2

30,40,33,0

这是对的吗?有人能帮助我吗?

2 个答案:

答案 0 :(得分:1)

据我了解,k=1的中间结果如下:

000 010 003 inf
015 000 018 inf
inf 005 000 002
030 004 033 000

对于直观理解,带有索引ij的条目将是从ij的最短路径,其中中间标记为{1}是允许的,即从ij或路径i-0-j的更好路径。

答案 1 :(得分:0)

让我们尝试解释你的(中间?)结果。第一行是:

0, 10, 30, inf

这意味着存在从顶点0到0的路径,其中0成本,通常是从顶点0到1的路径,最小成本为10,以及从顶点0到2的路径,最小成本为30.这不可能,如从顶点0到2的路径更便宜,成本为3,由初始成本矩阵给出。因此,您的实现有一个错误。如果你可以分享它,我们也可以指出它。

PS。即使是中间结果,Floyd-Warshall的矩阵成本也不会增加,只会减少。 (例如:证明)