A binary search tree is a rooted binary tree where every node value must be greater than all the node values in the left subtree and smaller than all the node values in the right sub-tree.