【发布时间】:2015-12-16 02:58:13
【问题描述】:
我应该找到通过顶点 k = 0 的路径的成本, 1、2 和 3。 对于顶点 k=0,有
0、10、30、inf
15, 0, inf, inf
inf, 5, 0, 2
30、40、33、0
正确吗?有谁能帮帮我吗?
【问题讨论】:
我应该找到通过顶点 k = 0 的路径的成本, 1、2 和 3。 对于顶点 k=0,有
0、10、30、inf
15, 0, inf, inf
inf, 5, 0, 2
30、40、33、0
正确吗?有谁能帮帮我吗?
【问题讨论】:
据我了解,k=1 的中间结果如下。
000 010 003 inf
015 000 018 inf
inf 005 000 002
030 004 033 000
为了直观理解,索引为i 和j 的条目将是从i 到j 的最短路径,其中允许从集合{1} 中记录中间值,即从任一路径中获取的更好路径从i 到j 或路径i-0-j。
【讨论】:
让我们尝试解释您的(中间?)结果。第一行写着:
0, 10, 30, inf
这意味着有一条从顶点 0 到 0 的路径,成本为 0,简单地说,一条从顶点 0 到 1 的路径,最低成本为 10,从顶点 0 到 2 的路径,最低成本为 30。这不可能,因为从顶点 0 到 2 有一条更便宜的路径,成本为 3,由初始成本矩阵给出。因此,您的实现有一个错误。如果你能分享出来,我们也可以指出来。
PS。即使是中间结果,矩阵中的成本也不会因 Floyd-Warshall 而增加,只会减少。 (例如:证明)
【讨论】: