Binary Search Tree
A binary search tree is a binary tree that is in a sense sorted according to the values in its nodes.
For each node n, a binary search tree satisfies the following three properties:
1. n’s value is greater than all values in its left subtree TL.
2. n’s value is less than all its values in its right subtree TR.
3. Both TL and TR are binary search tree.