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:
Ways to Iterate Over a List in Java
Java Program to Generate All Subsets of a Given Set in the Lexico Graphic Order
Java String Conversions
Spring Cloud – Securing Services
Uploading MultipartFile with Spring RestTemplate
Java Program to Implement Solovay Strassen Primality Test Algorithm
Java Program to Represent Graph Using Incidence List
Java Program to Implement HashSet API
Spring Security 5 – OAuth2 Login
Serve Static Resources with Spring
Jackson – Marshall String to JsonNode
Jackson vs Gson
Connect through a Proxy
Spring 5 Functional Bean Registration
The Spring @Controller and @RestController Annotations
Intro to Spring Boot Starters
Java Program to Implement Triply Linked List
Java Program to Implement Double Order Traversal of a Binary Tree
Java Program to Implement Extended Euclid Algorithm
Java Program to Find the Minimum Element of a Rotated Sorted Array using Binary Search approach
Thực thi nhiều tác vụ cùng lúc như thế nào trong Java?
Java Program to Check if a Matrix is Invertible
Spring WebFlux Filters
Java TreeMap vs HashMap
Finding Max/Min of a List or Collection
Check If a File or Directory Exists in Java
Java InputStream to String
Weak References in Java
Convert Character Array to String in Java
Java Program to Implement ArrayList API
New Features in Java 8
Comparing Strings in Java