これは、幅優先検索用のコードです。 レベルごとに印刷したいと思います。 1行、1レベル。Java幅優先検索の素敵なプリント
public static void printTreeBreadthFirst(Tree t)
{
Node root = t.getRoot();
Queue<Node> queue = new LinkedList<Node>() ;
if (root == null)
return;
queue.clear();
queue.add(root);
while(!queue.isEmpty()){
Node<?> node = queue.remove();
System.out.println(node.getData() + " ");
if(node.getChildren().isEmpty())
continue;
else
queue.addAll(node.getChildren());
}
}
しかし、これはすべて同じ行に印刷されるため、素晴らしい印刷ではありません。 この素晴らしいプリントをどのように実装できますか?
EDIT:(ルート(child1の(子1.1、子1.2)(子2(子2.1))(child3)) NICE出力:
root (level 1)
child1 - child2 - child3 (level 2)
child1.1 - child1.2 - child2.1 (level 3)
'(root(child1(子1.1、子1.2)(子2(子2.1)(child3))')をどのように印刷して見栄えを良くするかの例を挙げることができますか?深さ優先検索は、きれいに印刷されたツリーのほうがより一般的です... – tucuxi
"素敵なプリント"とは正確に何を意味しますか?検索されたノードの深さで入力をインデントしますか? – radoh
私が何を意味するかを確かめてください。 – user840718