2017-07-10 5 views
1

J'apprends AVL Tree et je reçois TLE en code récursif. Mon tuteur suggère une solution itérative. J'ai cherché et trouvé une solution qui enregistre le noeud parent dans l'enfant. Je me demande si cela pourrait poser problème en mémoire, n'est-ce pas? Et y a-t-il une autre façon d'insérer, de supprimer dans AVL Tree ce qui n'a pas besoin d'enregistrer le parent dans les enfants? S'il vous plaît donnez-moi un indice.Arbre AVL non récursif

Répondre

2

Il y a plusieurs choix lors de la mise en œuvre AVL: - récursion ou itérative - facteur d'équilibre du magasin (hauteur de bonne hauteur de moins de gauche) ou à la hauteur - référence parent magasin ou non

récursive avec une hauteur tend à donner la solution la plus élégante mais itérative peut mieux fonctionner dans certains cas, donc il vaut la peine d'envisager. Vous pouvez lire sur les choix: http://www.eternallyconfuzzled.com/tuts/datastructures/jsw_tut_avl.aspx et voir une implémentation itérative en Java: https://github.com/dmcmanam/bbst-showdown