This is a Java Program to perform search an element in the binary search tree.
Here is the source code of the Java Program to Perform Search 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 search an element in a Binary Search Tree
import java.util.Random;
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 boolean search(int val)
{
return search(root, val);
}
private boolean search(BSTNode r, int val)
{
boolean found = false;
while ((r != null) && !found)
{
int rval = r.getData();
if (val < rval)
r = r.getLeft();
else if (val > rval)
r = r.getRight();
else
{
found = true;
break;
}
found = search(r, val);
}
return found;
}
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 Searching_Tree
{
public static void main(String[] args)
{
BSTree bst = new BSTree();
System.out.println("Binary Search Tree Deletion Test\n");
Scanner input = new Scanner(System.in);
Random rand = new Random();
int elements = 15;
for (int i = 0; i < elements; i++)
bst.insert(Math.abs(rand.nextInt(100)));
System.out.println("Enter integer element to search");
System.out.println("Search result : " + bst.search(input.nextInt()));
System.out.print("\nPost order : ");
bst.postorder();
System.out.print("\nPre order : ");
bst.preorder();
System.out.print("\nIn order : ");
bst.inorder();
input.close();
}
}
Output:
$ javac Searching_BST.java $ java Searching_BST Binary Search Tree Searching Test Enter integer element to search 15 Search result : true Post order : 0 10 5 24 15 38 4 63 55 72 67 79 97 80 49 Pre order : 49 4 0 38 15 5 10 24 80 79 67 55 63 72 97 In order : 0 4 5 10 15 24 38 49 55 63 67 72 79 80 97
Related posts:
Java Program to Implement ConcurrentSkipListMap API
Java Program to Implement Iterative Deepening
Hướng dẫn sử dụng Lớp FilePermission trong java
Introduction to Netflix Archaius with Spring Cloud
Spring Boot - Interceptor
Custom HTTP Header with the HttpClient
Introduction to the Java NIO Selector
Java Program to Generate All Pairs of Subsets Whose Union Make the Set
Java Program to Implement Quick Sort with Given Complexity Constraint
Chương trình Java đầu tiên
Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Pl...
The Dining Philosophers Problem in Java
Java Program to Sort an Array of 10 Elements Using Heap Sort Algorithm
Spring Boot - Hystrix
Guide to Java OutputStream
Overflow and Underflow in Java
JUnit 5 for Kotlin Developers
Java Program to Implement the Vigenere Cypher
Spring REST API + OAuth2 + Angular
Search for a pair of intersecting segments
Creating a Generic Array in Java
Java Program to Implement Suffix Tree
Spring Boot - Google OAuth2 Sign-In
Use Liquibase to Safely Evolve Your Database Schema
Java Program to Implement Interpolation Search Algorithm
Java Program to Implement ArrayList API
How to Break from Java Stream forEach
Một số nguyên tắc, định luật trong lập trình
Kết hợp Java Reflection và Java Annotations
Java Program to Check Whether Graph is DAG
Bootstrapping Hibernate 5 with Spring
Spring Boot - Thymeleaf