...
/Binary Search Tree Insertion (Implementation)
Binary Search Tree Insertion (Implementation)
In this lesson, we'll study the implementation of Binary Search Tree insertion in JavaScript through the iterative and recursive approaches.
We'll cover the following...
There are two ways to code a BST insert function
- Iteratively
- Recursively
We will be implementing both in this lesson.
We’ll end up with the following tree once we implement the BST insert function and insert the elements [6,4,9,2,5,8,12,10,14]
.
Insert Implementation (Iterative) #
The iterative implementation of the insert
function as part of the BinarySearchTree
class is as follows:
Press + to interact
insert(newValue) {if(this.root==null){this.root=new Node(newValue);return;}//starting from the rootvar currentNode = this.root;var parent;//while we get to the null nodewhile (currentNode) {parent = currentNode; //update the parentif (newValue < currentNode.val) {//if newValue < currentNode.val,//iterate to the left subtreecurrentNode = currentNode.leftChild} else {//if newValue >= currentNode.val,//iterate to the right subtreecurrentNode = currentNode.rightChild;}}//by now, we will have the parent of the null//node where we have to insert the newValueif (newValue < parent.val) {//if newValue < parent.val//insert into the leftChildparent.leftChild = new Node(newValue)} else {//if newValue >= parent.val//insert into the rightChildparent.rightChild = new Node(newValue)}}
Now let’s put ...