【问题标题】:java - Depth First Search - Perform DFS on a treejava - 深度优先搜索 - 在树上执行 DFS
【发布时间】:2011-10-25 20:04:18
【问题描述】:

我试图在包含 26 个节点的最小生成树上执行 DFS。 节点被命名为 'A' 到 'Z' 并且树是无向的。

我在这里尝试编写一个名为 DFS 的空函数,它(我假设)在树(一个 2D 数组)中接收一个 startNode(随机选择的节点'M')和 endNode(随机选择的节点' Z')。

连接节点的权重在二维数组参数中确定,但我如何真正开始访问节点?

只需按照 DFS 遍历的顺序打印每个 nodeName。

我需要为二维数组中的每个节点创建一个 Node_class 吗??

【问题讨论】:

    标签: java depth-first-search


    【解决方案1】:

    在深度优先搜索中,您只需要确保在向上移动到树以获取下一个分支之前,您正在遍历一条边的整个长度到一个叶节点。我不确定我是否理解问题的目标,但我相信你得到的是正确的。为了跟踪访问了哪个节点以及从起始节点到任何给定节点的总距离/权重是多少,您需要跟踪额外信息,即它是否已被访问以及每个节点的最低权重是多少.假设您创建了一个“包装器”类,它将携带这两条额外的信息,默认已访问为 false 并将权重默认为无穷大或一些非常大的数字。 http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多