Mécanisme d'insertion

Examinons un sous arbre de racine le plus jeune antécédent qui devient non équilibré suite à une insertion. Prenons le cas où le facteur d'équilibrage est 1 pour ce jeune antécédent. La figure suivante illustre ce cas.

Image8.jpg (15361 octets)

A désigne le plus jeune antécédent devenu non équilibré. Puisque f(A)=1, son sous arbre gauche est non NIL. Soit donc B le fils gauche. f(B) doit donc avoir la valeur 0. Ce nœud B devait avoir avant l'insertion des sous arbres (droit et gauche) la même profondeur, soit h=n. Puisque f(A)=1, le sous arbre de A doit aussi avoir h=n.

Deux cas sont à considérer figure a) et b) :

        Dans a), le nouveau nœud est inséré dans le sous arbre gauche de B. Donc f(B) devient 1 et f(A) devient 2.

        Dans b), le nouveau nœud est inséré dans le sous arbre droit de B. f(B) devient -1 et f(A) devient 2.

Afin de maintenir l'arbre binaire équilibré, il est nécessaire de transformer l'arbre de telle sorte que :
        (i) -l'inordre soit préservé.
        (ii) -l'arbre transformé soit équilibré.

1. Si une rotation droite est faite sur le sous arbre de racine A dans la figure a), on obtient l'arbre a) suivant qui respecte (i) et (ii).

Image9.jpg (14352 octets)


2. Considérons la figure b) dans laquelle le nouveau nœud est inséré dans le sous arbre droit de B. Soit C le fils droit de B. Trois cas peuvent se présenter:
- C est le nouveau nœud créé.
- le nœud créé est dans le sous gauche de C.
- le nœud créé est dans le sous arbre droit de C.

La figure b) illustre le cas où le nouveau nœud est dans le sous arbre gauche de C. Si on fait une rotation gauche du sous arbre de racine B suivie par une rotation droite du sous arbre de racine A on obtient l'arbre b) qui respecte (i) et(ii).

Le raisonnement est le même pour le cas où le facteur d'équilibrage est -1.