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:
Quản lý bộ nhớ trong Java với Heap Space vs Stack
Java Program to Implement Bucket Sort
Java Program to Implement Lloyd’s Algorithm
Jackson Exceptions – Problems and Solutions
Partition a List in Java
Lớp Collections trong Java (Collections Utility Class)
JWT – Token-based Authentication trong Jersey 2.x
How to Find an Element in a List with Java
Java Program to Implement RenderingHints API
How to Break from Java Stream forEach
Java Program to Implement Hash Tables
Spring RequestMapping
Introduction to Spring Cloud Rest Client with Netflix Ribbon
Ép kiểu trong Java (Type casting)
Spring Boot - Logging
Quick Intro to Spring Cloud Configuration
Java Switch Statement
Spring NoSuchBeanDefinitionException
Guide to Java 8’s Collectors
Most commonly used String methods in Java
A Guide to JPA with Spring
Check If a String Is Numeric in Java
Java Program to Implement Binomial Tree
Java Program to Implement Branch and Bound Method to Perform a Combinatorial Search
Java Program to Implement Interpolation Search Algorithm
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Java Program to Give an Implementation of the Traditional Chinese Postman Problem
The Spring @Controller and @RestController Annotations
Spring Boot - Building RESTful Web Services
Vòng lặp for, while, do-while trong Java
Spring Security Authentication Provider
Java InputStream to Byte Array and ByteBuffer