Bonjour,
Pour l'école j'ai fait l'implémentation des AVL, en Java. Chaque noeud contient une donnée "desequilibre" (= hauteur (filsGauche) - hauteur (filsDroit)).
Après une rotation droite, le déséquilibre de 2 noeuds (sommet et filsGauche qui deviennent respectivement filsDroit et sommet) est modifié. Je sais qu'il est possible de trouver grâce à une formule es nouvelles valeurs des déséquilibres. J'en ai trouvé une sur un site internet :
Celle-ci ne fonctionne pas chez moi, notamment car leur déséquilibre est égal à "filsDroit - filsGauche". J'ai essayé de la comprendre, de l'inverser mais le résultat reste faux.
Cela fait plusieurs heures que je manipule mes données dans tous les sens pour retrouver une formule cohérente avec mon implémentation... mais impossible d'y arriver. Si quelqu'un pouvait m'indiquer cette formule (dans un premier temps pour une rotation droite), et mieux, me l'expliquer... je lui en serai très reconnaissant.
Merci d'avance.
Partager