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:
So sánh Array và ArrayList trong Java
Cơ chế Upcasting và Downcasting trong java
Simple Single Sign-On with Spring Security OAuth2
Tính đóng gói (Encapsulation) trong java
How to Count Duplicate Elements in Arraylist
Java Program to Find Maximum Element in an Array using Binary Search
Java Program to Implement Segment Tree
Java Concurrency Interview Questions and Answers
Java Program to Find MST (Minimum Spanning Tree) using Prim’s Algorithm
Từ khóa this và super trong Java
Java Stream Filter with Lambda Expression
Java Program to Implement ArrayDeque API
Java Program to Implement Splay Tree
An Intro to Spring Cloud Contract
Introduction to Using FreeMarker in Spring MVC
Marker Interface trong Java
Java – Reader to String
Java Program to Solve Set Cover Problem assuming at max 2 Elements in a Subset
Servlet 3 Async Support with Spring MVC and Spring Security
Java Program to Implement HashTable API
Java Program to Check the Connectivity of Graph Using BFS
Spring Boot - Enabling HTTPS
Java Program to Find All Pairs Shortest Path
Jackson – Decide What Fields Get Serialized/Deserialized
Hướng dẫn Java Design Pattern – Proxy
A Guide to Queries in Spring Data MongoDB
Java Program to Solve Tower of Hanoi Problem using Stacks
Java Program to do a Breadth First Search/Traversal on a graph non-recursively
Working With Maps Using Streams
Java Program to Apply Above-Below-on Test to Find the Position of a Point with respect to a Line
Java Program to Implement DelayQueue API
Java Program to Find the Peak Element of an Array O(n) time (Naive Method)