Is there a method to build a balanced binary search tree?
Example:
1 2 3 4 5 6 7 8 9 5 / \\ 3 etc / \\ 2 4 / 1
Make the median of your data (or more precisely, the nearest element in your array to the median) the root of the tree. And so on recursively.