【问题标题】:Generate number of edges between two nodes生成两个节点之间的边数
【发布时间】:2012-02-22 04:27:07
【问题描述】:

我使用 Kruskal 算法生成了这个最小生成树,我很难在两个节点之间生成路径。有人可以帮我处理伪代码吗?我尝试使用邻接列表和邻接矩阵

Loc1 |  Loc2 |  Distance
  02 |   10  |    2.00 Km
  05 |   07  |    5.39 Km
  02 |   09  |    5.83 Km
  04 |   05  |    5.83 Km
  06 |   08  |    5.83 Km
  03 |   09  |    7.07 Km
  01 |   04  |    11.18 Km
  07 |   09  |    11.18 Km
  07 |   08  |    15.81 Km
Total Weight = 70.12 Km
----------------------------------------------------

【问题讨论】:

    标签: algorithm graph graph-algorithm minimum-spanning-tree kruskals-algorithm


    【解决方案1】:

    如果您只想要两个节点之间的任何路径,Breadth First Search 就可以了,并且会生成最短路径(因为它是最小生成树)。

    【讨论】:

      【解决方案2】:

      根据定义,生成树没有循环(或循环),因此在两个节点之间最多只能有一条路径(即不是“路径”,复数)。

      也许我不明白这个问题。您是否试图找出两个给定节点在树中的连接方式?

      如果是这样,对我来说这听起来像是最简单的蛮力,您只需从一个点沿着其可能的边缘跟随,也许通过从堆栈中推送和弹出可能性,将是最坏情况 O(Edges)运行时间,与 Kruskal 算法相比,这将是微不足道的。 您需要更快的东西吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-11
        • 1970-01-01
        • 2011-07-14
        • 1970-01-01
        • 2019-05-13
        相关资源
        最近更新 更多