Balanced Binary Trees
The binary search tree is efficient only when it is fully populated, or balanced.
When you add records to, or delete records from, the binary search tree, you must reorganise the tree so that each node has an equal number of nodes to each side.
As long as you maintain this structure, you can search through the tree for a particular value just like you earlier conducted a binary search on a simple array.