Arbre Rouge Noir.

Slides:



Advertisements
Présentations similaires
La recherche de chemin optimal
Advertisements

Structures de données avancées : B arbres
Structures de données avancées : Principales structures de données
Classification et prédiction
Classification et prédiction
Chapitre 3 (fin). Les arbres AVL
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Cours 8 Arbres équilibrés
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
Arbre binaire de recherche
IFT-2000: Structures de Données
Chapitre VII. Tri Tri par tas Tri rapide.
Algorithme d’addition #1
Bases de données lexicales
Montage des roulements Cours de Construction TGMB1.
Gestion de Fichiers Arbres B.
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
Gestion de Fichiers Indexes basés sur les structures d’arbres binaires et indexes à niveaux multiples.
Indexes à Arbres et Indexes à Hachage
Gestion de Fichiers Hachage Extensible.
Indexes à Arbres et Indexes à Hachage
Les arbres binaires.
Arbres binaires complets
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)
Gestion de Fichiers GF-12: Comment Gerer les Indexes qui ne tiennent pas en Memoire de Maniere Efficace?: I. Indexes Bases sur les Structures dArbres Binaires.
Gestion de Fichiers GF-10: Traitement Co-Sequentiel: Appariment et Fusion de Plusieures Listes (Base sur les sections de Folk, Zoellick & Riccardi,
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
Pour le chemin le plus court pour tous les couples
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.
Structures de données IFT-2000
Structures de données avancées : Arbres Red-Black
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.
Arbres binaires et tables de hachage
STE Les lois de Kirchhoff.
Structures de données avancées : Fichiers uni-dimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : Arbres ‘Left Leaning Red-Black’
Exploration systématique de graphes
Structures de données avancées : Arbres AA
LES PRINCIPES DE LA THERMODYNAMIQUE
Leçon 4 NOTION DE FONCTION Fabienne BUSSAC.
Chapitre 1 Nombres relatifs.
Module : Langage XML (21h)
Structures de données avancées : B arbres
Structures de données avancées : Variantes des B arbres
Arbres AVL Arbres AVL.
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
Structures de données avancées : MTH ( Multidimensional trie hashing ) D. E ZEGOUR Institut National d ’Informatique.
Structures de données IFT-2000
Structures de données IFT-2000
Structures de données IFT-2000 Abder Alikacem Semaine 10 Les algorithmes de recherche Les structures arborescentes Département d’informatique et de génie.
VI. Tri par tas.
Les monceaux (Heap) Monceaux Propriétés des Monceaux
CSI25101 Maps et Dictionnaries. CSI25102 Un dictionnaire (dictionary) est un modèle abstrait de base de données. tel une file à priorité, un dictionnaire.
Arbres AVL - Hauteur d’un arbre AVL - Insertion et restructuration
4/25/2017 4:30 PM Arbres (2,4) CSI2510 CSI2510.
CSI25101 Tri Plus efficace. CSI25102 Tri récursif Le tri récursif divise les données de grande taille en deux presque moitiés et est appelé récursivement.
DreamWeaver Séance 2 HMIDA Ahmed A2008. Plan 1.Calques 2.CSS 3.Modèles 4.Formulaires 5.Comportements 6.Mise en ligne.
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
. Le B-Arbre.
Transcription de la présentation:

Arbre Rouge Noir

Présentation Inventé en 1972 par Rudolf Bayer; Une arbre rouge noir (arbre bicolore) est un type d’implantation d’arbre binaire couramment utilisé; Les arbres rouges noirs offrent certains avantages qui fait en sorte qu’ils sont préférés aux arbres AVL; Cependant, l’efficacité des arbres rouges noirs ce traduit par une plus grande complexité d’implémentation; Les arbres AVL sont plus utilisés au niveau académique.

Propriétés Un arbre rouge et noir doit respecter les cinq propriétés suivantes: Un nœud est soit rouge ou noir; Une feuille doit être noir ou « Nil »; La racine doit être noire * ; Un parent rouge doit avoir deux fils noirs; Chaque chemin d’une feuille à la racine doit toujours comporter le même nombre de nœuds noirs. * Cette règle peut être facultative car elle n’a pas d’impact sur l’efficacité de l’arbre.

Recherche dans l’arbre La recherche s’effectue exactement comme dans tout les arbres binaires et avec la même efficacité algorithmique ( O(log N) ); La recherche est une opération préliminaire à l’insertion et à la suppression;

Insertion et suppression Lors des insertions et des suppressions des nœuds de l’arbre, les 5 propriétés des arbres rouges noirs doivent être respectées. La conséquence est qu’il y a de nombreux cas possibles. Cela contribue à la complexité de l’arbre rouge noir (comparativement à l’arbre AVL)

Insertion Un nouveau nœud est toujours ROUGE. Il n’y a aucun problème à moins que le nœud parent soit aussi rouge. Si le parent est rouge, on est dans un cas spécifique, il y faut appliquer le bon algorithme pour rétablir les propriétés de l’arbre rouge noir.

Insertion – Notation Voici la notation qui est utilisé pour identifier les nœuds de l’arbre « P » : Le nœud parent « PP » : Le nœud grand-parent « O » : Le nœud oncle « X » : Nouveau nœud et nœud courant

Insertion – Cas 0 Si « P » est la racine de l’arbre. C’est le seul cas où la hauteur noire de l’arbre augmente.

Insertion – Cas 1 Si « O » est rouge « P » et « O » deviennent noirs, « PP » devient rouge** Ce cas n’est pas toujours final

Insertion – Cas 2 « O » est noir Ce dernier cas à quatre variantes, tout dépendant de la position de « X » et « P » par rapport à leur parent. Dans certaines explications, on prend en considération la symétrie des opérations, mais cela peut être une source d’erreur si la notion est mal comprise.

Insertion – Cas 2a « X » et « P » sont des fils de gauche

Insertion – Cas 2b « X » et « P » sont des fils de droite

Insertion – Cas 2c « X » est un fils droit, et « P » est un fils gauche

Insertion – Cas 2d « X » est un fils gauche, et « P » est un fils droit

Suppression Si le nœud supprimé est rouge, toutes les propriétés restes intactes. Les cas spécifiques concernent les cas où le nœud supprimé est noir

Suppression Le nœud à supprimer n’est pas tout le temps le nœud qui contient la valeur à supprimer de l’arbre. Si le nœud a zéro ou un fils, on le supprime, et c’est potentiellement son fils qui prend sa place. Si le nœud a 2 fils (on ne considère pas les NIL), on échange sa valeur avec le nœud le plus à gauche de son sous-arbre droit, et c’est ce nœud le plus à gauche que l’on supprime

Suppression Le nœud supprimé, ou le nœud qui remplace celui qui a été supprimé, doit avoir une deuxième couleur noire pour faire respecter la 5e propriété de l’arbre rouge noir. Si le nœud auquel on ajoute une couleur noire est rouge, il devient noir et le cas prend fin. Si le nœud est déjà noir, il devient doublement noir, et il faut appliquer les cas spécifiques de suppression pour enlever la double couleur noire.

Suppression – Notation Voici la notation qui sera utilisée pour les cas de suppression « X » est le nœud qui à la double couleur (courant) « P » est le nœud parent « F » est le nœud frère de « X » « G » est le nœud fils gauche de « F » « D » est le nœud fils droit de « F »

Suppression Cas 0 « X » est la racine de l’arbre On annule simplement la double couleur noire C’est le seul cas où la hauteur noire de l’arbre diminue

Suppression – Cas 1 « F » est noir Ce cas à cinq variantes, dont deux paires de cas qui sont symétriques. Les cas symétrique sont présenté individuellement par soucis de clarté.

Suppression – Cas 1a « G » et « D » sont noirs La double couleur est propagée vers le nœud « P » Ce cas n’est pas final

Suppression – Cas 1b « D » est rouge, et « F » est un fils droit

Suppression – Cas 1c « G » est rouge, et « F » est un fils gauche

Suppression – Cas 1d « G » est rouge, « D » est noir, « F » fils de droite

Suppression – Cas 1e « G » est noir, « D » est rouge, « F » fils de gauche

Suppression – Cas 2 « F » est rouge Encore une fois les 2 variantes symétriques sont présentées individuellement.

Suppression – Cas 2a « F » est un fils de gauche

Suppression – Cas 2b « F » est un fils de droit

Analyse et comparaison AVL