Binary Tree Sim

Write a Binary Tree simulation.

* Insert 10000 Random numbers into a binary tree – output the height of the tree.
* Balance the tree – output the new height of the tree.
* Add an interface which allows the user to decide how many ‘insertion’ operations should be done.
* Allow the user to search to find out if a particular node is in the tree.
* Allow the user to decide how many deletion operations should be performed (i.e. generate a random number, and if that number is in the tree, delete it).

Help?