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:
A Guide to Queries in Spring Data MongoDB
Java Program to Find MST (Minimum Spanning Tree) using Kruskal’s Algorithm
Mapping Nested Values with Jackson
Apache Camel with Spring Boot
Spring WebClient vs. RestTemplate
Spring Security – Reset Your Password
How to Convert List to Map in Java
Java Program to Implement Attribute API
Guide to System.gc()
Guide to PriorityBlockingQueue in Java
Bootstrapping Hibernate 5 with Spring
Java Program to Implement Binomial Tree
Guide to the Synchronized Keyword in Java
Luồng Daemon (Daemon Thread) trong Java
Java Program to Implement Bloom Filter
Introduction to Spring Boot CLI
Giới thiệu Aspect Oriented Programming (AOP)
SOAP Web service: Upload và Download file sử dụng MTOM trong JAX-WS
Mockito and JUnit 5 – Using ExtendWith
Form Validation with AngularJS and Spring MVC
Guide to UUID in Java
Java Program to Implement Coppersmith Freivald’s Algorithm
Spring Cloud AWS – Messaging Support
A Guide to the finalize Method in Java
Java Program to Test Using DFS Whether a Directed Graph is Weakly Connected or Not
Validations for Enum Types
Default Password Encoder in Spring Security 5
Java Program to Implement Singly Linked List
Java Program to Implement the One Time Pad Algorithm
Lớp Collections trong Java (Collections Utility Class)
Java Program to Perform Stooge Sort
Java Program to Implement JobStateReasons API