A binary tree is a tree data structures in which each node have at most two child nodes, generally distinguished as "right" and "left". Nodes with children are called parent nodes, and child nodes may retain references to their parents. Outside the tree, there is often an instance to the "root" node, if it exists. Any node in the data structure may be reached by starting at root node and repeatedly following instances to either the right or left child. A tree which does not contain any node other than root node is named a null tree. In a binary tree a degree of every node is maximum two. A tree with 'n' number of nodes has accurate 'n-1' degree or branches.