what is the approach and are there any other constraints?
Are you going to add basically one node to the tree at a time and balance each time?
Are you going to add all of the nodes, then balance?
Are you going to load a series of small trees, then
thread back to a balanced tree?
Are you going to order the nodes from the array so that the binary tree will be balanced on creation?
Are there any rules as to the delta of branches before a balance is done?