Structures de données avancées : Arbres Red-Black

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)
Sémantique des déclarations pour le langage Z minimal
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
Chapitre 3 (fin). Les arbres AVL
Cours 8 Arbres équilibrés
PBST*: une nouvelle variante des SDDS
LOGO Responsable du cours Mlle Amina GHRAB : 1 ère année IAG Institut Supérieur de Gestion de Tunis.
Les structures de données arborescentes
IFT-2000: Structures de Données
Chapitre VII. Tri Tri par tas Tri rapide.
RECURSIVITE ARBRES BINAIRES
Arbre Rouge Noir.
Arbres Un arbre est une structure de données organisées de façon hiérarchique, à partir d’un nœud distingué appelé racine. Très importante en informatique!.
Comment créer une pyramide de population (pages 38 & 39 des photocopies)
Les fichiers indexés (Les B-arbres)
LA STRUCTURE D'ARBRE-B Institut National des Sciences Appliquées – Rouen Département Architecture des Systèmes d’Information.
LES ARBRES IUP 2 Génie Informatique
Arbres Rouge noir Démo : INF3105 Structures de données et algorithmes
Structures de données IFT-2000
Structures de données IFT-2000
Les arbres et tas binomiaux
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)
1 ère édition de la marche nordique di Marathon de la baie du Mont Saint-Michel Dimanche 13 mai 2012 Carte N°1 CherrueixSt Broladre Circuit marathon Circuit.
IV. Arbres  Arbre binaire (AB) Représentation SDD d’un AB
Les rotations Voici un autre exemple dajout. Celui-ci engendre un cas simple de déséquilibre, car larbre.
Structures de données IFT-2000
Structures de données IFT Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre
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.
201 UMLV  Type « dictionnaire » sous-ensembles finis de E (ordonné) avec les opérations : Ens_vide :  Ens Ajouter : Ens x Elément  Ens Enlever.
Transformer pour régner
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)
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : Introduction
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.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
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)
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : Arbres ‘Left Leaning Red-Black’
Structures de données avancées : MBT ( Multidimensional B-trees )
L’analyse lexicale Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : Arbres AA
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)
Structures de données avancées : B arbres
Structures de données avancées : Variantes des B arbres
1 UMLV  FICHIERS Mémoire de masse découpée en blocs Fichier :liste chaînée de blocs, ou arbre de blocs (répertoires - fichiers)‏ Bloc d’éléments Bloc.
Structures de données avancées : Principales structures de données
Les monceaux (Heap) Monceaux Propriétés des Monceaux
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
4/25/2017 4:30 PM Arbres (2,4) CSI2510 CSI2510.
. Le B-Arbre.
Les arbres Arbres binaires
Transcription de la présentation:

Structures de données avancées : Arbres Red-Black Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) http://zegour.esi.dz email: d_zegour@esi.dz

Les arbres Rouge et Noir Des arbres 2-4 vers SBB (Symetrical Binary B-trees) Lien vertical Lien horizontal 37 50 30 35 39 70 10 20 33 34 36 38 40 60 80 100 90 32

Les arbres Rouge et Noir 37 50 30 35 39 70 10 20 33 34 36 38 40 60 80 100 90 32 Des arbres 2-4 vers SBB 37 50 30 35 39 70 10 20 33 34 36 38 40 60 80 100 90 32 45° Lien vertical Lien horizontal

Les arbres Rouge et Noir 37 50 30 35 39 70 10 20 33 34 36 38 40 60 80 100 90 32 Des arbres SBB vers Arbres RB 37 50 30 35 39 70 10 20 33 34 36 38 40 60 80 100 90 32

Les arbres Rouge et Noir Arbres Rouge et Noir (Introduction) RB : une structure de données très populaire - Inclus dans plusieurs livres de structures de données - Implémenté et integrée dans plusieurs langages de programmations (JAVA, C…) Utilisé pour implémenter les dictionnaires et les tableaux associatifs Utilisé aussi dans diverses domaines (Voir Internet ) RB : arbre de recherche binaire équilibré Recherche, insertion et suppresion : O(Log2(n)) Hauteur h d’un RB tree ayant n : h ≤ 2 Log2 (n+1) ( pour AVL 1.44 Log2(n+1)

Les arbres Rouge et Noir Arbres Rouge et Noir (Introduction) RB : Operations de maintenance : - Restructuration et coloration. Insertion : au plus 1 restructuration et au plus Log2 (N) colorations. suppression : au plus 2 restructurations et au plus Log2 (N) colorations. RB : nouvelle version de SBB (Symmetric Binary B-trees) - SBB a été proposée par Bayer. - SBB est simplement la representation en arbre de recherche binaire d’un arbre 2-4

Les arbres Rouge et Noir Arbres Red Black Un arbre rouge et noir (RB-tree) est un arbre binaire de recherche où chaque nœud est de couleur rouge ou noire . De plus, toutes les branches issues de tout nœud : Ne possèdent pas deux nœuds rouges consécutifs. Possèdent le même nombre de nœuds noirs La racine est noire - Nœuds noirs : équilibrage parfait - Nœuds rouges : tolérer légèrement le déséquilibre Pire des cas: Alternance entre les nœuds rouges et noirs.

Les arbres Rouge et Noir Arbres Red Black (Insertion) Insertion comme dans un arbre de recherche binaire. Le nœud inséré est toujours une feuille On lui attribue la couleur rouge Si son père est aussi rouge, un algorithme de maintenance est appliqué

Les arbres Rouge et Noir Arbres Red Black(Insertion) CAS 1: le frère F de P est rouge PP F P X PP F P X X : nœud introduit Les nœuds P et F deviennent noirs et leur père PP devient rouge. Le processus continue en cascade

Les arbres Rouge et Noir Arbres Red Black(Insertion) CAS 2: le frère F de P est noir et X est le fils gauche de P. PP F P X DP P PP X F DP Rotation droite du nœud PP. P devient noir et PP rouge. Le processus se termine

Les arbres Rouge et Noir Arbres Red Black(Insertion) CAS 3: le frère F de P est noir et X est le fils droit de P. PP F P X B A X PP P F B A Rotation gauche du nœud P + rotation droite du nœud PP. X devient noir et PP rouge. Le processus se termine

Les arbres Rouge et Noir Arbres Red Black(Insertion) CAS 4: le nœud père P est la racine de l'arbre P X P X Le nœud père devient noir C'est le seul cas où la hauteur noire de l'arbre augmente. Le processus se termine

Les arbres Rouge et Noir Arbres Red Black (Exemple) Insérer 13 13 Insérer 10 13 10 Insérer 5 Couleur du frère de P= noir Et X = fg(P) 13 10 P 10 5 13 Rotation 5 X

Les arbres Rouge et Noir Arbres Red Black (Exemple) Insérer 2 PP PP PP 10 Couleur du frère de P= rouge 10 Coloration 10 P P 5 13 5 13 P 5 13 Coloration 2 X 2 X 2 X

Les arbres Rouge et Noir Arbres Red Black (Exemple) Insérer 4 10 10 Couleur du frère de P= noir ET X = fd(P) ET P=FG(PP) PP 4 13 5 13 2 5 P 2 Double rotation X 4

Les arbres Rouge et Noir Arbres Red Black (Suppression) Suppression comme dans un arbre de recherche binaire. Si le nœud physiquement supprimé est noir, un algorithme de maintenance est appliqué. On considère que le nœud qui remplace le nœud supprimé porte une couleur noire en plus. Ceci signifie qu'il devient noir s'il est rouge et qu'il devient doublement noir s'il est déjà noir. L’algorithme de maintenance a donc pour rôle de supprimer ce nœud doublement noir.

Les arbres Rouge et Noir CAS 1: Le frere F de X est noir et a deux fils noirs Arbres Red Black (Suppression) Soit X le noeud doublement noir (Supposé ici comme un fils gauche) et P son père P F X F X P Transformer F en un noeud rouge P F X P F X Si le parent P est noir, le processus continue en remontant dans l’arbre. X devient le nouveau noeud doublement noir.

Les arbres Rouge et Noir CAS 2: Le frère F du noeud X est noir et a un fils droit rouge (FD) Arbres Red Black (Suppression) P F A X FD B C F FD P X A B C Rotation gauche de P Recolorer : P et FD deviennent noirs et la couleur de F est celle de P avant la transformation. Le processus se termine

Les arbres Rouge et Noir CAS 3: si le frere F du noeud X est noir et a un fils gauche rouge(FG) Arbres Red Black (Suppression) P F FG X A B FG F P B X A Rotation droite (F) + rotation gauche (P). Recolorer : P devient noir et la couleur de FG est celle de P avant la transformation. Le processus se termine

Les arbres Rouge et Noir Arbres Red Black (Suppression) CAS 4: Le frère F de X est rouge P S X B A S B P A X Rotation droite(P) Le processus continue selon le cas 1, 2 ou 3

Les arbres Rouge et Noir Arbres Red Black (Suppression) CAS 0: X est la racine de l’arbre Soit X le noeud doublement noir P X X X devient simplement un noeud noir. C’est le seul cas ou la hauteur de l’arbre diminue. Le processus se termine.

Les arbres Rouge et Noir Arbres Red-Black (Analyse théorique) Operations de maintenance : - Restructuration et coloration. Insertion : au plus 1 restructuration et au plus Log2 (n) colorations. suppression : au plus 2 restructurations et au plus Log2 (n) colorations. N : nombre d’élements insérés. la profondeur maximale d'un arbre binaire équilibré est 2*Log2(n) Recherche, insertion et suppression : O(Log2(n))