- バイナリツリーのノードの定義
まず、バイナリツリーのノードを表すクラスを定義します。
class Node {
int data;
Node left;
Node right;
public Node(int item) {
data = item;
left = right = null;
}
}
- ポストオーダーの再帰的な実装
バイナリツリーのポストオーダーを再帰的に出力する方法です。
class BinaryTree {
Node root;
void printPostorder(Node node) {
if (node == null)
return;
// 左部分木を出力
printPostorder(node.left);
// 右部分木を出力
printPostorder(node.right);
// 現在のノードを出力
System.out.print(node.data + " ");
}
// ポストオーダーの出力メソッド
void printPostorder() {
printPostorder(root);
}
}
- ツリーの作成とポストオーダーの出力
以下は、バイナリツリーを作成し、ポストオーダーを出力する例です。
public class Main {
public static void main(String[] args) {
BinaryTree tree = new BinaryTree();
tree.root = new Node(1);
tree.root.left = new Node(2);
tree.root.right = new Node(3);
tree.root.left.left = new Node(4);
tree.root.left.right = new Node(5);
System.out.println("ポストオーダー: ");
tree.printPostorder();
}
}
上記のコードは、バイナリツリーを作成し、ポストオーダーを出力する方法を示しています。コードを実行すると、出力結果としてポストオーダーが表示されます。
この記事では、Javaでバイナリツリーのポストオーダーを出力する方法を解説しました。他にもさまざまな方法がありますが、再帰を使用した方法が最も一般的です。