This is a java program to construct a binary tree and perform inorder traversal of the constructed binary tree.
Nodes visited are in the order:
visit Left node
visit Root node
visit Right node
Here is the source code of the Java Program to Perform Inorder 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 inorder 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 inorder()
{
inorder(root);
}
private void inorder(BinarySearchTreeNodes r)
{
if (r != null)
{
inorder(r.getLeft());
System.out.print(r.getData() + " ");
inorder(r.getRight());
}
}
}
public class Inorder_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("\nIn order : ");
bst.inorder();
scan.close();
}
}
Output:
$ javac Inorder_Recursive_BST.java $ java Inorder_Recursive_BST Enter the first 10 elements of the tree 12 10 11 03 15 19 02 01 04 70 In order : 1 2 3 4 10 11 12 15 19 70
Related posts:
Java Program to find the maximum subarray sum using Binary Search approach
HashMap trong Java hoạt động như thế nào?
Java Program to Find Shortest Path Between All Vertices Using Floyd-Warshall’s Algorithm
Java Program to Represent Graph Using Incidence List
Java Program to Implement Cubic convergence 1/pi Algorithm
Apache Commons Collections SetUtils
Java Program to Compute Discrete Fourier Transform Using the Fast Fourier Transform Approach
Prevent Brute Force Authentication Attempts with Spring Security
Spring Boot - Building RESTful Web Services
Spring Boot - Enabling Swagger2
Java Program to implement Sparse Vector
Jackson Exceptions – Problems and Solutions
Java Program to Implement Counting Sort
How to Get All Dates Between Two Dates?
So sánh ArrayList và LinkedList trong Java
Handling Errors in Spring WebFlux
Predicate trong Java 8
A Quick Guide to Spring Cloud Consul
Java – Write a Reader to File
Spring Boot Security Auto-Configuration
Different Ways to Capture Java Heap Dumps
Java – Random Long, Float, Integer and Double
Sử dụng JDBC API thực thi câu lệnh truy vấn dữ liệu
Request Method Not Supported (405) in Spring
Java Web Services – JAX-WS – SOAP
Guide to Spring Cloud Kubernetes
How to use the Spring FactoryBean?
Functional Interfaces in Java 8
Java – Reader to InputStream
Java Program to Implement K Way Merge Algorithm
Java Program to Check Cycle in a Graph using Graph traversal
Java Program to Implement Tarjan Algorithm