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:
Java Program to Perform Matrix Multiplication
Java Program to Perform Complex Number Multiplication
Spring Security Form Login
Spring Boot - CORS Support
Java Program to Check whether Undirected Graph is Connected using DFS
Giới thiệu về Stream API trong Java 8
Java Program to Find the GCD and LCM of two Numbers
Java Program to Implement Flood Fill Algorithm
Java Program to Perform Insertion in a BST
Java Program to Implement the Monoalphabetic Cypher
Java Program to Implement TreeMap API
Giới thiệu luồng vào ra (I/O) trong Java
Java Program to Implement Stack
Java Program to Check if an UnDirected Graph is a Tree or Not Using DFS
Creating a Web Application with Spring 5
Guide to Spring @Autowired
A Quick Guide to Using Keycloak with Spring Boot
Concurrent Test Execution in Spring 5
Java Program to Implement String Matching Using Vectors
Java Program to Perform String Matching Using String Library
Spring Cloud – Tracing Services with Zipkin
Quick Guide to the Java StringTokenizer
Java CyclicBarrier vs CountDownLatch
Changing Annotation Parameters At Runtime
Spring Security and OpenID Connect
Introduction to Using FreeMarker in Spring MVC
Error Handling for REST with Spring
Guide to java.util.Formatter
Guide to the Volatile Keyword in Java
Java Program to Implement Ternary Search Tree
Iterating over Enum Values in Java
Spring Boot - Cloud Configuration Client