# Binary tree traversal

#### Problem description :

Tree traversal (a.k.a tree search) is a form of graph traversal and refers to the process of visiting each node in a tree data structure, exactly once, in a systematic way. Such traversals are classified by the order in which the nodes are visited. Most commonly used traversal orders are the following :

- In-order
- Pre-order
- Post-order

This post is a follow-up of Create a binary search tree in javascript. I recommend reading that first, as the following code uses the method from it.

#### Time complexity : O(n); n is the number of nodes in a tree

#### Pre-order traversal :

- Display the data part of root element (or current element)
- Traverse the left subtree by recursively calling the pre-order function.
- Traverse the right subtree by recursively calling the pre-order function

Pre-order: F, B, A, D, C, E, G, I, H

#### Solution :

#### In-order traversal :

- Traverse the left subtree by recursively calling the in-order function
- Display the data part of root element (or current element)
- Traverse the right subtree by recursively calling the in-order function

#### Note: Elements are printed in the sorted order.

In-order: A, B, C, D, E, F, G, H, I

#### Solution :

#### Post-order traversal :

- Traverse the left subtree by recursively calling the post-order function.
- Traverse the right subtree by recursively calling the post-order function.
- Display the data part of root element (or current element).

Post-order: A, C, E, D, B, H, I, G, F