This is a Java Program to perform insertion in the binary search tree.
Here is the source code of the Java Program to Perform Insertion in a BST. 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 insert elements in a Binary Search Tree
import java.util.Scanner;
class BSTNode
{
BSTNode left, right;
int data;
public BSTNode()
{
left = null;
right = null;
data = 0;
}
public BSTNode(int n)
{
left = null;
right = null;
data = n;
}
public void setLeft(BSTNode n)
{
left = n;
}
public void setRight(BSTNode n)
{
right = n;
}
public BSTNode getLeft()
{
return left;
}
public BSTNode getRight()
{
return right;
}
public void setData(int d)
{
data = d;
}
public int getData()
{
return data;
}
}
class BSTree
{
private BSTNode root;
public BSTree()
{
root = null;
}
public boolean isEmpty()
{
return root == null;
}
public void insert(int data)
{
root = insert(root, data);
}
private BSTNode insert(BSTNode node, int data)
{
if (node == null)
node = new BSTNode(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(BSTNode r)
{
if (r != null)
{
inorder(r.getLeft());
System.out.print(r.getData() + " ");
inorder(r.getRight());
}
}
public void preorder()
{
preorder(root);
}
private void preorder(BSTNode r)
{
if (r != null)
{
System.out.print(r.getData() + " ");
preorder(r.getLeft());
preorder(r.getRight());
}
}
public void postorder()
{
postorder(root);
}
private void postorder(BSTNode r)
{
if (r != null)
{
postorder(r.getLeft());
postorder(r.getRight());
System.out.print(r.getData() + " ");
}
}
}
public class Insertion_BST
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
BSTree bst = new BSTree();
System.out.println("Binary Search Tree Insertion Test\n");
int N = 10;
for (int i = 0; i < N; i++)
{
bst.insert(scan.nextInt());
System.out.print("\nPost order : ");
bst.postorder();
System.out.print("\nPre order : ");
bst.preorder();
System.out.print("\nIn order : ");
bst.inorder();
}
scan.close();
}
}
Output:
$ java Insertion_BST.java $ java Insertion_BST Binary Search Tree Insertion Test Add element: 3 Post order : 3 Pre order : 3 In order : 3 Add element: 5 Post order : 5 3 Pre order : 3 5 In order : 3 5 Add element: 4 Post order : 4 5 3 Pre order : 3 5 4 In order : 3 4 5 Add element: 4 Post order : 4 4 5 3 Pre order : 3 5 4 4 In order : 3 4 4 5 Add element: 6 Post order : 4 4 6 5 3 Pre order : 3 5 4 4 6 In order : 3 4 4 5 6 Add element: 45 Post order : 4 4 45 6 5 3 Pre order : 3 5 4 4 6 45 In order : 3 4 4 5 6 45 Add element: 7578 Post order : 4 4 7578 45 6 5 3 Pre order : 3 5 4 4 6 45 7578 In order : 3 4 4 5 6 45 7578 Add element: 54651 Post order : 4 4 54651 7578 45 6 5 3 Pre order : 3 5 4 4 6 45 7578 54651 In order : 3 4 4 5 6 45 7578 54651 Add element: 22 Post order : 4 4 22 54651 7578 45 6 5 3 Pre order : 3 5 4 4 6 45 22 7578 54651 In order : 3 4 4 5 6 22 45 7578 54651 Add element: 34 Post order : 4 4 34 22 54651 7578 45 6 5 3 Pre order : 3 5 4 4 6 45 22 34 7578 54651 In order : 3 4 4 5 6 22 34 45 7578 54651
Related posts:
Java Program to Implement Repeated Squaring Algorithm
Đồng bộ hóa các luồng trong Java
Debug a JavaMail Program
Java Program to Check whether Undirected Graph is Connected using BFS
Creating a Custom Starter with Spring Boot
Java Optional as Return Type
Join and Split Arrays and Collections in Java
Phương thức tham chiếu trong Java 8 – Method References
Spring Security with Maven
Spring Boot - Runners
Java Program to Implement Find all Back Edges in a Graph
Different Ways to Capture Java Heap Dumps
Java Program to Implement a Binary Search Tree using Linked Lists
Finding Max/Min of a List or Collection
An Introduction to ThreadLocal in Java
Create a Custom Auto-Configuration with Spring Boot
Java Streams vs Vavr Streams
Java Program to Implement Depth-limited Search
Java Program to Implement RoleUnresolvedList API
Cài đặt và sử dụng Swagger UI
Java Program to Perform Searching Based on Locality of Reference
Java Timer
Java Program to Show the Duality Transformation of Line and Point
The XOR Operator in Java
Spring’s RequestBody and ResponseBody Annotations
Java Program to Represent Graph Using Adjacency Matrix
Spring REST with a Zuul Proxy
Java – Combine Multiple Collections
Disable DNS caching
Hướng dẫn Java Design Pattern – Strategy
Fixing 401s with CORS Preflights and Spring Security
Java Program to Compute DFT Coefficients Directly