Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)

Slides:



Advertisements
Présentations similaires
Structures de données avancées : MLH (Multidimensional linear hashing)
Advertisements

Structures de données avancées : Principales structures de fichiers
Structures de données avancées : B arbres
Structures de données avancées : Principales structures de données
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI)
Structures de données avancées : MBT ( Multidimensional B-trees )
Structures de données avancées : MTH ( Multidimensional trie hashing )
Structures de données avancées : Introduction
Chapitre 3 Les arbres binaires
Traitement sémantique et grammaire dattributs Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI)
Le langage Z Pr ZEGOUR DJAMEL EDDINE
Vue générale Pr ZEGOUR DJAMEL EDDINE
Machines de Turing Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI)
Sémantique des déclarations pour le langage Z minimal
Chapitre 3 (fin). Les arbres AVL
Cours 8 Arbres équilibrés
PBST*: une nouvelle variante des SDDS
Cours d’Algorithmique
LOGO Responsable du cours Mlle Amina GHRAB : 1 ère année IAG Institut Supérieur de Gestion de Tunis.
Chapitre VII. Tri Tri par tas Tri rapide.
TD4 2 MIC Romaric GUILLERM Algo-Prog en Ada.
Structures de données IFT-2000
Structures de données IFT-2000
Séance d’introduction
Analyse lexicale Pr ZEGOUR DJAMEL EDDINE
Table des symboles Pr ZEGOUR DJAMEL EDDINE
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) Plate-forme.NET.
Arbres équilibrés Les transformation restructurantes dans leur ordre de définition: LL RR LR RL Facteur d’équilibre de noeud = (hauteur de s-arbre a gauche)
Structures de données IFT-2000
Structures de données IFT-2000 Abder Alikacem Semaine 11 Gestion des arbres binaires de tri et de recherche. Les arbres cousus. Les arbres n-aires Département.
Structures de données avancées : Arbres AVL & Arbres Rouge et Noir
Structures de données avancées : Hachage dynamique
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Un exemple détaillé Pour chaque noeud on mettra 0 si ses deux sous-arbres ont la même hauteur +n si le sous-arbre gauche est plus profond avec une différence.
Structures complexes Pr ZEGOUR DJAMEL EDDINE
Expressions logiques Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : Arbres Red-Black
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : Introduction
Procédures et fonctions Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Listes linéaires chaînées Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
MIGO ET COMPLEXITE1 ARBRES EQUILIBRES Définition : On dit qu’un arbre binaire est H équilibré si en tout nœud de l’arbre, les hauteurs des sous-arbres.
Sémantique des expressions arithmétiques pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Tables de compilation pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Le langage Z minimal Pr ZEGOUR DJAMEL EDDINE
Structures de données avancées : Fichiers uni-dimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : Arbres ‘Left Leaning Red-Black’
L’analyse lexicale Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : Arbres AA
Structures de contrôle Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Sémantique des instructions pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures simples et tableaux Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
Interprétation/Génération de code pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Expressions sur les chaînes de caractères Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Une brève présentation de C# Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Fonctions standards Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : B arbres
Structures de données avancées : Variantes des B arbres
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) C O M P I L Z.
Structures de données avancées : Principales structures de données
Organisation de la mémoire pour le langage minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Arbres AVL - Hauteur d’un arbre AVL - Insertion et restructuration
Les arbres Arbres binaires
المعالجة وفق بيداغوجيا الإدماج
سامانه مدیریت آموزشی آنلاین
Transcription de la présentation:

Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)

Les arbres AVL Arbres AVL Un arbre AVL est un arbre de recherche binaire équilibré Ajouter un champ balance (facteur d'équilibrage ) au niveau de chaque noeud | Profondeur(fg(n) )– Profondeur(fd(n)) | <= 1

Les arbres AVL Arbres AVL (Cas de déséquilibre) 0

Les arbres AVL Arbres AVL (Cas de déséquilibre) 0

Arbres AVL (Techniques d'équilibrage ) Examinons un sous arbre de racine le plus jeune antécédent qui devient non équilibré suite à une insertion Cas où le facteur d'équilibrage est +1 Les arbres AVL A B T3 T1T h=n B Le nouveau nœud est inséré dans le sous arbre gauche de B. Donc f(B) devient 1 et f(A) devient 2

Arbres AVL (Techniques d'équilibrage ) Examinons un sous arbre de racine le plus jeune antécédent qui devient non équilibré suite à une insertion Les arbres AVL A B T4 T C T2T3 0 h=n h=n-1 B Le nouveau nœud est inséré dans le sous arbre droit de B. f(B) devient -1 et f(A) devient 2. Cas où le facteur d'équilibrage est +1

Arbres AVL (Techniques d'équilibrage ) Transformer l'arbre de telle sorte que l'inordre soit préservé l'arbre transformé soit équilibré Les arbres AVL

Arbres AVL (Techniques d'équilibrage ) (a) rotation droite du nœud A Les arbres AVL A B T3 T1T h=n B A B T3 T1 T2 0 0 h=n B

Arbres AVL (Techniques d'équilibrage ) (b) rotation gauche du nœud B suivie par une rotation droite du nœud A Les arbres AVL A B T4 T1 +2 C T2T3 0 h=n h=n-1 B A B T4 T1 0 0 C T2 h=n h=n-1 B T3

Arbres AVL (Algorithme d'insertion) La première partie de l'algorithme consiste à insérer la clé dans l'arbre sans tenir compte du facteur d'équilibrage Elle garde aussi la trace du plus jeune antécédent, soit Y qui devient non équilibré La deuxième partie fait la transformation à partir de Y Les arbres AVL

Arbres AVL (Rotation gauche) N D GD DGDG P D DGDG ND G P AFF_FD(N, DG)AFF_FG(D, N))AFF_FG(Parent, D) Rotation gauche(N) Les arbres AVL

Arbres AVL (Rotation droite) N GDGD GD G P G D G N GDGD P AFF_FG(N, GD)AFF_FD(G, N))AFF_FD(Parent, G) Rotation droite (N) Les arbres AVL

Arbres AVL (Exemples) Insérons la séquence : A, B, X, L, M, C, D, E, H, R, F dans un arbre AVL. Insertion A, B, X Les arbres AVL A B X A B X

Arbres AVL (Exemples) Insérons la séquence : A, B, X, L, M, C, D, E, H, R, F dans un arbre AVL. Insertion L, M Les arbres AVL A B X L M A B M L X

Arbres AVL (Exemples) Insérons la séquence : A, B, X, L, M, C, D, E, H, R, F dans un arbre AVL. Insertion C Les arbres AVL A B M L X X B L M CXA

Arbres AVL (Exemples) Insérons la séquence : A, B, X, L, M, C, D, E, H, R, F dans un arbre AVL. Insertion D, E Les arbres AVL B L M CXA D E B L M D X A E C

Arbres AVL (Exemples) Insérons la séquence : A, B, X, L, M, C, D, E, H, R, F dans un arbre AVL. Insertion H, R, F Les arbres AVL D L R DXB H E C A M

Arbres AVL (Suppression) Étape 1 : comme dans un arbre de recherche binaire ordinaire Étape 2 : mettre à jour les balances Cas où la balance d’un nœud A devient +2  Le fils gauche B de A doit exister Les cas suivants peuvent se présenter a)B a une balance égale à + 1 b)B a une balance égale à – 1 c)B a une balance égale à 0 Même traitement symétrique dans le cas où la balance d’un nœud A devient -2 Traitement peut continuer en cascade Les arbres AVL

Arbres AVL (Suppression) B a une balance égale à + 1 A B n-1 n A B n-1 n 0 0 Les arbres AVL

Arbres AVL (Suppression) B a une balance égale à -1 B a donc un fils à sa droite, soit C. Cas Balance (C)= 0 A B n-1 n +2 A B n-1 +2 C n-1 0 Les arbres AVL

Arbres AVL (Suppression) B a une balance égale à -1, C son fils droit avec Balance(C)=0 A C n B 0 A B +2 C n-1 0 Les arbres AVL

Arbres AVL (Suppression) B a une balance égale à -1 B a donc un fils à sa droite, soit C. Balance (C)= +1 A B n-1 n +2 A B n-1 +2 C n-1n-2 +1 Les arbres AVL

Arbres AVL (Suppression) A C n-1n-2 0 B n-1 0 A B +2 C n-1n-2 +1 B a une balance égale à -1, C son fils droit avec Balance(C)=+1 Les arbres AVL

Arbres AVL (Suppression) B a une balance égale à -1 B a donc un fils à sa droite, soit C. Balance (C)= -1 A B n-1 n +2 A B n-1 +2 C n-2n-1 Les arbres AVL

Arbres AVL (Suppression) A C n B n-2n-1 +1 A B n-1 +2 C n-2n-1 B a une balance égale à -1, C son fils droit avec Balance(C)=-1 Les arbres AVL

Arbres AVL (Suppression) B a une balance égale à 0 A B n-1 nn +2 0 A B n-1 n n +1 Les arbres AVL

Arbres AVL (Analyse théorique) la profondeur maximale d'un arbre binaire équilibré est 1.44*Log 2 n La recherche dans un tel arbre n'exige jamais plus de 44% de plus de comparaisons que pour un arbre binaire complet Operations de maintenance : - Restructuration = 1 rotation ou double rotation - Insertion : au plus 1 restructuration - suppression : au plus Log2 (N) restructurations Les arbres AVL