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 Implement Find all Back Edges in a Graph
Java Program to Find the Median of two Sorted Arrays using Binary Search Approach
Creating Docker Images with Spring Boot
Guide to Character Encoding
RegEx for matching Date Pattern in Java
Java Program to Construct K-D Tree for 2 Dimensional Data
Spring RestTemplate Error Handling
Java Program to Implement Insertion Sort
Quick Guide to java.lang.System
Spring Cloud Bus
Remove All Occurrences of a Specific Value from a List
Java Program to Implement Vector API
MyBatis with Spring
Java Program to Implement a Binary Search Algorithm for a Specific Search Sequence
@Order in Spring
Lập trình hướng đối tượng (OOPs) trong java
Java Program to Search for an Element in a Binary Search Tree
How to Set TLS Version in Apache HttpClient
Java – String to Reader
Converting between an Array and a List in Java
Java Program to do a Breadth First Search/Traversal on a graph non-recursively
Java Program to Implement Naor-Reingold Pseudo Random Function
Java Program to Implement Miller Rabin Primality Test Algorithm
Spring REST API + OAuth2 + Angular
Rest Web service: Filter và Interceptor với Jersey 2.x (P1)
Spring Data JPA @Modifying Annotation
How to Read a Large File Efficiently with Java
Từ khóa this và super trong Java
A Guide to HashSet in Java
Convert char to String in Java
Validations for Enum Types
Java Program to Implement CountMinSketch