我有一个图表,它基本上是节点的ArrayList,每个节点都存储它们的邻居。
public class Node {
ArrayList<Node> neighbors;
String data;
public Node() {
data = null;
neighbors = new ArrayList<Node>();
}
}
我打印出此图表中的每个路径,但只打印n级深度。我该怎么做呢?
或者,如果我以不同方式存储,请随时告诉我。但更重要的是,我想知道如何打印出n级深度的每条路径。
答案 0 :(得分:4)
只需执行图表的depth-limited traversal即可。这就像深度优先搜索一样,除了在递归步骤中,您还添加了一个名为depth
的变量,每次深入时都会增加该变量。然后只需在达到所需深度后停止递归。
答案 1 :(得分:1)
visited
的额外变量。Queue
进行广度优先搜索,并使用visited
来防止形成循环。n
。