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:
Exploring the Spring 5 WebFlux URL Matching
Java Program to Perform Stooge Sort
Java Program to Find Minimum Element in an Array using Linear Search
Mệnh đề if-else trong java
Java Program to Check if a Matrix is Invertible
Java Program to Implement Fibonacci Heap
Simplify the DAO with Spring and Java Generics
Lớp Arrarys trong Java (Arrays Utility Class)
Java Program to Generate All Possible Combinations of a Given List of Numbers
Overview of Spring Boot Dev Tools
More Jackson Annotations
Java Program to Perform Search in a BST
Java Web Services – JAX-WS – SOAP
Java Program to Check for balanced parenthesis by using Stacks
Reactive WebSockets with Spring 5
Immutable Objects in Java
Initialize a HashMap in Java
Spring Cloud – Bootstrapping
JUnit 5 for Kotlin Developers
Implementing a Runnable vs Extending a Thread
Java Program to Perform LU Decomposition of any Matrix
How to Remove the Last Character of a String?
Java Program to Implement Quick Sort Using Randomization
Implementing a Binary Tree in Java
Hướng dẫn sử dụng Java Generics
Java Program to Check Whether a Directed Graph Contains a Eulerian Cycle
Hướng dẫn sử dụng Lớp FilePermission trong java
Guide to Dynamic Tests in Junit 5
Spring Security – security none, filters none, access permitAll
Guide to Apache Commons CircularFifoQueue
Spring Data Reactive Repositories with MongoDB
Easy Ways to Write a Java InputStream to an OutputStream