For a binary tree to be a binary search tree (BST), the data of all the nodes in the left sub-tree of the root node should be
less than or equals to the data of the root. The data of all the nodes in the right subtree of the root node should be greater
than the data of the root. This example shows the implementation of a binary search tree pre-order traversal (depth first).
What is pre-order traversal (depth first)?
Tree traversal means we visiting all nodes in the tree, visiting means either of accessing node data or processing node data.
Traversal can be specified by the order of visiting 3 nodes, ie current node, left subtree and right subtree. In pre-order traversal, first we
visit the current node, then left subtree and then right subtree. In our current example we use recursive approach to implement pre-order traversal.
Pre-order: F, B, A, D, C, E, G, I, H.
Here is an example picture of binary search tree (BST) for our example code:
Here is the steps to implement pre-order traversal:
- Start with root node.
- Check if the current node is empty / null.
- Display the data part of the root (or current node).
- Traverse the left subtree by recursively calling the pre-order function.
- Traverse the right subtree by recursively calling the pre-order function.