COMPUTER
SCINCE
PRACTICAL FILE
UID: 6960407
NAME: KHUSHI SINGH
,//program to show all the functions to be performed in a Binary
search tree
import java.util.*;
class Node
{
public Node L,R;
public int data;
public Node(int p)
{
data=p;
L=R=null;
}
}
class bst
{
private Node B;
public void add(int p)//function to add elements in bst
{
B=add(B,p);
}
public Node add(Node M,int p)
{
if(M==null)
M=new Node(p);
else
{
if(p>M.data)
M.R=add(M.R,p);
else
M.L=add(M.L,p);
}
return M;
}
public void search(int p)//function to search an element
{
if(search(B,p))
System.out.println("Found");
else
System.out.println("Not found");
}
public boolean search(Node M,int p)
{
if(M==null)
return false;
else
{
if(M.data==p)
,return true;
else
{
if(p>M.data)
return search(M.R,p);
else
return search(M.L,p);
}
}
}
public void inorder()
{
inorder(B);
}
public void inorder(Node M)
{
if(M==null)
return;
else
{
inorder(M.L);
System.out.println(M.data);
inorder(M.R);
}
}
public void preorder()
{
preorder(B);
}
public void preorder(Node M)
{
if(M==null)
return;
else
{
System.out.println(M.data);
preorder(M.L);
preorder(M.R);
}
}
public void postorder()
{
postorder(B);
}
public void postorder(Node M)
{
if(M==null)
, return;
else
{
postorder(M.L);
postorder(M.R);
System.out.println(M.data);
}
}
public void searchmin()
{
Node T=searchmin(B);
if(T==null)
System.out.println("Tree is empty");
else
System.out.println(T.data);
}
public Node searchmin(Node M)
{
if(M==null)
return null;
else
{
if(M.L==null)
return M;
else
return searchmin(M.L);
}
}
public void searchmax()
{
Node T=searchmax(B);
if(T==null)
System.out.println("Tree is empty");
else
System.out.println(T.data);
}
public Node searchmax(Node M)
{
if(M==null)
return null;
else
{
if(M.R==null)
return M;
else
return searchmax(M.R);
}