Book Image

Learning JavaScript Data Structures and Algorithms

By : Loiane Avancini
Book Image

Learning JavaScript Data Structures and Algorithms

By: Loiane Avancini

Overview of this book

Table of Contents (18 chapters)

Binary tree and binary search tree


A node in a binary tree has at most two children: one left child and one right child. This definition allows us to write more efficient algorithms for inserting, searching, and deleting nodes to/from a tree. Binary trees are largely used in computer science.

A binary search tree is a binary tree, but it only allows you to store nodes with lesser values on the left side and nodes with greater values on the right side. The diagram in the previous topic exemplifies a binary search tree.

This will be the data structure we will be working on in this chapter.

Creating the BinarySearchTree class

Let's start by creating our BinarySearchTree class. First, let's declare its skeleton:

function BinarySearchTree() {

    var Node = function(key){ //{1}
        this.key = key;
        this.left = null;
        this.right = null;
    };

    var root = null; //{2}
}

The following diagram exemplifies how our Binary Search Tree (BST) will be organized in terms of data structure...