Javaでバイナリ検索ツリーをプリントアウトする方法は?私はツリーに挿入するコードを書いていますが、ツリーを印刷することができないと、要素が追加されているかどうかを確認しています。私は下に自分のコードを掲載します。Javaバイナリ検索ツリーを印刷する
void printTree(TreeNode node, String prefix)
{
if(node == null) return;
System.out.println(prefix + " + " + node.data);
printTree(node.left , prefix + " ");
printTree(node.right , prefix + " ");
}
最初の呼び出しは、あなたがツリーを印刷したい場所からprintTree(root,"");
する必要があります:あなたはメソッド次使用すること
public class TreeNode {
TreeNode left;
TreeNode right;
TreeNode root;
int data;
public TreeNode(int d) {
data = d;
left = right = null;
root = null;
}
public synchronized void insert(int d) {
if (root == null){
root = new TreeNode(d);
}
if (d < data) {
if (left == null) {
left = new TreeNode(d);
} else {
left.insert(d);
}
} else if (d > data) {
if (right == null) {
right = new TreeNode(d);
} else {
right.insert(d);
}
}
}
public TreeNode treeSearch(TreeNode root, int target) {
if (root != null) {
if (target < root.data) {
root = treeSearch(root.left, target);
} else if (target > root.data) {
root = treeSearch(root.right, target);
}
}
return root;
}
}
は、それを印刷する少なくともあまりにも多くの方法があります。あなたは簡単な入力と希望の出力を提供できますか?あなた自身で何か試しましたか? – Fureeish
私はそれを好きな方法を説明するのは難しいが、私は試してみます。出力はルートを最初に出力し、次に出力をルートから分岐させて下位レベルを出力し、次に挿入された値に応じてこのレベルから分岐する下位レベルを出力します。 – Bryan
コメントを読んでいる間、「**あなたは簡単な入力と希望の出力を提供できますか?**」という部分を見逃してしまったと思います。これは質問を編集することを意味していたので、皆さんはコメントを見ずに誰もが簡単にそれを見ることができます。 – Fureeish