Terminology:
- Parent: Everynode (excluding a root) in a tree is connected by a directed edge from exactly one other node. This node is called parent
- Child: Each node can be connected to at most two nodes, called children. Nodes with same parents are called siblings.
- Depth: Number of edges from the root to the node
- Height: Number of edges from the node to the deepest leave.
- Full Binary Tree: A binary tree in which each node has exactly zero or two children
- Complete Binary Tree: A binary tree, which is completely filled, with the possible exception of the bottom level, which is filled from left to right
- Balanced Binary Tree: A height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1