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)

Tree traversal


Traversing (or walking) a tree is the process of visiting all nodes of a tree and performing an operation at each node. But how should we do that? Should we start from the top of the tree or from the bottom? From the left or the right side? There are three different approaches that can be used to visit all the nodes in a tree: in-order, pre-order, and post-order.

In the following sections, we will deep dive into the uses and implementations of these three types of tree traversals.

In-order traversal

An in-order traversal visits all the nodes of a BST in ascending order, meaning it visits the nodes from the smallest to largest. An application of in-order traversal would be to sort a tree. Let's check out its implementation:

this.inOrderTraverse = function(callback){
    inOrderTraverseNode(root, callback); //{1}
};

The inOrderTraverse method receives a callback function as a parameter. This function can be used to perform the action we would like to execute when the node is visited...