遍历图表,但只有n级深度

时间:2012-04-16 02:26:17

标签: java graph

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

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

我打印出此图表中的每个路径,但只打印n级深度。我该怎么做呢?

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

2 个答案:

答案 0 :(得分:4)

只需执行图表的depth-limited traversal即可。这就像深度优先搜索一样,除了在递归步骤中,您还添加了一个名为depth的变量,每次深入时都会增加该变量。然后只需在达到所需深度后停止递归。

答案 1 :(得分:1)

  1. 在每个节点中添加一个名为visited的额外变量。
  2. 使用Queue进行广度优先搜索,并使用visited来防止形成循环。
  3. 长度为n