0

我有一个图,它本质上是一个节点的 ArrayList,每个节点都存储它们的邻居。

public class Node {
    ArrayList<Node> neighbors;
    String data;
    public Node() {
        data = null;
        neighbors = new ArrayList<Node>();
    }
}

我打印出这张图中的每条路径,但只做 n 级深。我应该如何进行编码?

或者,如果我应该以不同的方式存储它,请随时告诉我。但更重要的是,我想知道如何打印出每条 n 级深度的路径。

4

2 回答 2

4

只需对图进行深度有限的遍历。这就像深度优先搜索一样,除了在递归步骤中,您还添加了一个名为的变量,该变量depth在每次下降时递增。然后,一旦达到所需的深度,就停止递归。

于 2012-04-16T02:39:40.413 回答
1
  1. visited添加一个在每个节点中调用的额外变量。
  2. 使用 a 进行广度优先搜索Queue并使用visited防止形成循环。
  3. 做它的长度n
于 2012-04-16T02:32:38.180 回答