Skip to main content

Insertion in a Binary Search Tree JAVA

Insertion in a Binary Search Tree :_

Insertion in a BST follow simple operations. All the elements less than root lies on left subtree and all the elements greater than root lies on right subtree.

Every BST class will have a root variable of Node type that represents the head node of the tree.


public class BinarySearchTree {

 Node root;
 
 public BinarySearchTree()
 {
  root=null;
 }
 
 public Node insert(Node node,Node root)
 {
  if(root==null)
  {
   root=node;
   return root;
  }
  else{
  
  if(node.data>root.data)
  {
   
   root.right=insert(node,root.right);
  
  }
  else if(node.data<root.data)
  {
   root.left=insert(node,root.left);
  }
  
  }
  return root;
 }
}

Comments

.

Popular posts from this blog

Basics of System Design

This article is first one from the series of articles dedicated to system design interviews. Here i am going to present the base scenario to consider before starting to solve system design problems. Questions to ask? 1) what is the number of requests a website will recieve in a day/month/second? 2) what is the amount of memory a website will deal in a day/month/second? 3) what is the number of servers that can accomodate these requests? To answer this , first we need to remember the below numbers:- 1 million = 10 lakh = 1000000 = 10^6 1 billion = 1000 million = 10^9 1 KB = 1024 B = 10^3 1 MB= 10^6 = 1024 KB 1 GB= 10^9 = 1024 MB 1 TB = 10^12 = 1024 GB Memory we need to see in Bytes Requests we need to see in numbers example :- suppose a website recieves 100M requests every month then:- requests per day = request per month /24 = 416700 requests requests per second = requests per day / (24*360...

Delete node at a given position in Linked List

Delete node at a given position in Linked List //delete node by position in linked list public Node deleteKeyAtPosition ( Node head , int position ) { Node temp = head ; Node prevtemp = temp ; int c = 1 ; //if position is head if ( position == 1 ) { head = head . next ; return head ; } //position +1 because we have to go till that point while ( c != position + 1 ) { if ( c == position && position != 1 ) { prevtemp . next = temp . next ; temp . next = null ; temp = prevtemp ; } prevtemp = temp ; temp = temp . next ; c ++; } return head ; }