This is a java program to construct a binary tree and perform postorder traversal of the constructed binary tree.
Nodes visited are in the order:
visit Left node
visit Right node
visit Root node
Here is the source code of the Java Program to Perform Postorder Recursive Traversal of a Given Binary Tree. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a java program to implement recursive postorder traversal of the Binary Search Tree import java.util.Scanner; class BinarySearchTreeNodes { BinarySearchTreeNodes left, right; int data; public BinarySearchTreeNodes() { left = null; right = null; data = 0; } public BinarySearchTreeNodes(int n) { left = null; right = null; data = n; } public void setLeft(BinarySearchTreeNodes n) { left = n; } public void setRight(BinarySearchTreeNodes n) { right = n; } public BinarySearchTreeNodes getLeft() { return left; } public BinarySearchTreeNodes getRight() { return right; } public void setData(int d) { data = d; } public int getData() { return data; } } class BinarySearchTree { private BinarySearchTreeNodes root; public BinarySearchTree() { root = null; } public boolean isEmpty() { return root == null; } public void insert(int data) { root = insert(root, data); } private BinarySearchTreeNodes insert(BinarySearchTreeNodes node, int data) { if (node == null) node = new BinarySearchTreeNodes(data); else { if (data <= node.getData()) node.left = insert(node.left, data); else node.right = insert(node.right, data); } return node; } public void postorder() { postorder(root); } private void postorder(BinarySearchTreeNodes r) { if (r != null) { postorder(r.getLeft()); postorder(r.getRight()); System.out.print(r.getData() + " "); } } } public class Postorder_Recursive_BST { public static void main(String[] args) { Scanner scan = new Scanner(System.in); BinarySearchTree bst = new BinarySearchTree(); System.out.println("Enter the first 10 elements of the tree\n"); int N = 10; for (int i = 0; i < N; i++) bst.insert(scan.nextInt()); System.out.print("\nPost order : "); bst.postorder(); scan.close(); } }
Output:
$ javac Postorder_Recursive_BST.java $ java Postorder_Recursive_BST Enter the first 10 elements of the tree 12 10 11 03 15 19 02 01 04 70 Post order : 1 2 4 3 11 10 70 19 15 12
Related posts:
Guide to the Synchronized Keyword in Java
Iterable to Stream in Java
Creating Docker Images with Spring Boot
Dynamic Proxies in Java
Java Program to Implement Skip List
Partition a List in Java
Tránh lỗi NullPointerException trong Java như thế nào?
Comparing Dates in Java
Vector trong Java
Java Web Services – Jersey JAX-RS – REST và sử dụng REST API testing tools với Postman
Java Program to Implement Bellman-Ford Algorithm
Java Program to Find the Minimum Element of a Rotated Sorted Array using Binary Search approach
Adding a Newline Character to a String in Java
Java Program to implement Bi Directional Map
Guide to Character Encoding
Java Program to Implement Pairing Heap
Guide to Escaping Characters in Java RegExps
Java Program to Compute DFT Coefficients Directly
Spring Cloud – Bootstrapping
Java Program to Implement HashTable API
4 tính chất của lập trình hướng đối tượng trong Java
Java Program to Generate Randomized Sequence of Given Range of Numbers
Java Program to Implement the Edmond’s Algorithm for Maximum Cardinality Matching
Spring Boot - Introduction
Hướng dẫn Java Design Pattern – Composite
Handle EML file with JavaMail
Hướng dẫn Java Design Pattern – Strategy
Spring Security – security none, filters none, access permitAll
Immutable Map Implementations in Java
Fixing 401s with CORS Preflights and Spring Security
Hướng dẫn Java Design Pattern – Template Method
Convert Hex to ASCII in Java