> Why not ask the much more interesting and potentially useful question of balancing a binary tree?
Or even just when would you use a binary tree? Figuring out which data structure is appropriate for the problem at hand is the hard part, how to implement operations on the data structure is easy in comparison, you can just Google it.