Tree traversal
Traversing (or walking) a tree is the process of visiting all the nodes of a tree and performing an operation at each node. However, how should we do this? Should we start from the top of the tree or from the bottom? From the left-hand or the right-hand 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 dive deeply 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 an ascending order, meaning it will visit the nodes from the smallest to the 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...