In computer science, a binary search tree (BST),
also called an ordered or sorted binary tree,
is a rooted binary tree data structure whose internal nodes each store a key greater than all the
keys in the node's left subtree and less than those in its right subtree.