Devo implementare in c++ un albero binario di ricerca,
ovvero tale che ogni nodo è maggiore del suo
sottoalbero sinistro e minore del suo sottoalbero destro.
IL mio problema sta nel decidere la radice, in quanto
altrimenti si rischia che l'albero venga sbilanciato. Come faccio
a decidere? insomma se prendo l'elemento medio di tutti gli
elementi devo sapere a priori quali sono, metterli in un array, trovarlo....
mi sembra troppo costoso...
viceversa, se costruisco direttamente l'albero, allora
ad ogni iterazione devo eventualmente cambiare radice se l'elemento
mediano cambia... e quindi devo fare un sacco di confronti...