Javaでバイナリツリーのポストオーダーを出力する方法


  1. バイナリツリーのノードの定義

まず、バイナリツリーのノードを表すクラスを定義します。

class Node {
    int data;
    Node left;
    Node right;
    public Node(int item) {
        data = item;
        left = right = null;
    }
}
  1. ポストオーダーの再帰的な実装

バイナリツリーのポストオーダーを再帰的に出力する方法です。

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);
    }
}
  1. ツリーの作成とポストオーダーの出力

以下は、バイナリツリーを作成し、ポストオーダーを出力する例です。

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でバイナリツリーのポストオーダーを出力する方法を解説しました。他にもさまざまな方法がありますが、再帰を使用した方法が最も一般的です。