Buongiorno! Sono un'utente appena registrata... Qualcvuno di voi saprebbe darmi dei consigli su come costruire un albero binario in linguaggio c affinchè esso sia il più bilanciato possibile?
Buongiorno! Sono un'utente appena registrata... Qualcvuno di voi saprebbe darmi dei consigli su come costruire un albero binario in linguaggio c affinchè esso sia il più bilanciato possibile?
Ciao,
qui :
http://www.guidealgoritmi.it/ShowArticle.aspx?ID=9
trovi un'implementazione degli alberi binari di ricerca. È possibile mantenere bilanciato un albero di ricerca, eseguendo delle rotazioni a destra o a sinistra. Esistono, tuttavia, algoritmi più efficaci che mantengono l'albero bilanciato durante le operazioni di inserimento/cancellazione. Due, fra le implementazioni più utilizzate, prendono il nome di alberi AVL e Red-Black.
Un'implementazione degli alberi AVL la trovi qui:
http://avlmap.slashusr.org/
Qui c'è un'implementazione degli alberi Red-Black:
http://libredblack.sourceforge.net/
Grazie mille per le indicazioni !