【问题标题】:Floyd's Shortest Path Algorithm?弗洛伊德最短路径算法?
【发布时间】: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

正确吗?有谁能帮帮我吗?

【问题讨论】:

    标签: algorithm path-finding


    【解决方案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

    【讨论】:

      【解决方案2】:

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

      0, 10, 30, inf
      

      这意味着有一条从顶点 0 到 0 的路径,成本为 0,简单地说,一条从顶点 0 到 1 的路径,最低成本为 10,从顶点 0 到 2 的路径,最低成本为 30。这不可能,因为从顶点 0 到 2 有一条更便宜的路径,成本为 3,由初始成本矩阵给出。因此,您的实现有一个错误。如果你能分享出来,我们也可以指出来。

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

      【讨论】:

        猜你喜欢
        • 2018-11-15
        • 2011-04-22
        • 1970-01-01
        • 2013-03-28
        • 2018-11-04
        • 1970-01-01
        • 2013-11-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多