La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Chapitre 3 (fin). Les arbres AVL Andelson –Velskii et Landis Les auteurs de arbres AVL 1.

Présentations similaires


Présentation au sujet: "Chapitre 3 (fin). Les arbres AVL Andelson –Velskii et Landis Les auteurs de arbres AVL 1."— Transcription de la présentation:

1 Chapitre 3 (fin). Les arbres AVL Andelson –Velskii et Landis Les auteurs de arbres AVL 1

2 Les ABOH ont le défaut de pouvoir être déséquilibrés. Les AVL sont des ABOH qui garantissent un équilibre partiel. Il ny a pas déléments identiques. Les algorithmes Ajout et Suppression tiennent compte de léquilibre, ils réorganisent léquilibre de larbre. Structure dun AVL typedef struct noeud_avl { T info; -1h sag - h sad = 1 int balance; 0h sag = h sad struct avl sag,, sad ; +1h sad - h sag = 1 } noeud_avl; typedef noeud_avl* avl 2

3 Ajout dans un AVL A est un nœud le plus proche du nœud inséré avec le facteur de balance devenu 2 après la dernière insertion. (Ascendant du nœud inséré) GG : nouveau sommet Y est inséré dans le sag de sag de A. GD : nouveau sommet Y est inséré dans le sad de sag de A. DD : nouveau sommet Y est inséré dans le sad de sad de A. DG : nouveau sommet Y est inséré dans le sag de sad de A. GG est symétrique à DD, et GD est symétrique à DG. Donc, il suffit de voir comment le rééquilibrage est fait pour le cas gauche-gauche et le cas gauche-droite. Les cas droite-droite et droite-gauche sont gérés de façon symétrique. 3

4 Cas gauche-gauche Si le dépassement de hauteur du sag est du à une augmentation de hauteur de son propre sag, on est dans le cas gauche-gauche. La situation et la réorganisation nécessaire sont les suivantes : 0 h hh 4

5 On rajoute un élément dans le sag du sag de A. A B B A On effectue une rotation : A dévient le fils droit du B, le fils droit du B dévient le fils gauche du A. -2 h+h+ 1 h h 0 0 h+h+ 1 hh 5

6 Cas gauche-droite Si le dépassement de hauteur du sag est du à une augmentation de hauteur de son sad, on est dans le cas gauche-droite. La situation et la réorganisation nécessaire sont les suivantes : a) AOn rajoute un élément dans le sad Bdu sag de A. A C B B A C On effectue une rotation : A dévient le fils droit du C, B dévient le fils gauche du C

7 b. A B h C h h-1 h-1 On rajoute un élément dans le sag du C

8 -2 1 A C BA B h C h h h-1 h h h-1h-1 +1 On effectue une rotation : A dévient le fils droit du C, B dévient le fils gauche du C, le fils gauche du C dévient le fils droit du B, le fils droit du C dévient le fils gauche du A

9 0 0 c. A B h h C h-1 On rajoute un élément dans le sad du C. 9

10 A B h h C h-1 h-1 +1 On effectue une rotation : A dévient le fils droit du C, B dévient le fils gauche du C, le fils gauche du C dévient le fils droit du B, le fils droit du C dévient le fils gauche du A. C BA h h-1 h h h


Télécharger ppt "Chapitre 3 (fin). Les arbres AVL Andelson –Velskii et Landis Les auteurs de arbres AVL 1."

Présentations similaires


Annonces Google