Binary Tree
Binary Tree is a non-linear data structure. It is made up of nodes. Each node can hold a maximum of two nodes, Left and Right. It is to represent hierarchical information.
A node that has no parent is called Root. A link from parent to a child node is called Edge. A node that has the same level as some nodes are called Sibling. A node that has no children is called Leaf.
Traversal
Visiting every node is called Traversal. There are two order types; Breadth-First and Depth-First.
Breadth-First
Visiting every node at the same level before moving to the next level.
Depth-First
Visiting every node with going deep to the leaf before moving to the next node of the same level and can be performed in three ways; Pre-Order, In-Order, and Post-Order.
Pre-Order
The left subtree has processed before the right subtree.
In-Order
Similar to Pre-Order. But, start from the Leaf to the upper level of the node.
Post-Order
Similar to In-Order. But, instead of going to the upper level first, it is moving to the node of the same level first.