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

Présentation Inventé en 1972 par Rudolf Bayer; Une arbre rouge noir (arbre bicolore) est un type dimplantation darbre binaire couramment utilisé; Les.

Présentations similaires


Présentation au sujet: "Présentation Inventé en 1972 par Rudolf Bayer; Une arbre rouge noir (arbre bicolore) est un type dimplantation darbre binaire couramment utilisé; Les."— Transcription de la présentation:

1

2 Présentation Inventé en 1972 par Rudolf Bayer; Une arbre rouge noir (arbre bicolore) est un type dimplantation darbre binaire couramment utilisé; Les arbres rouges noirs offrent certains avantages qui fait en sorte quils sont préférés aux arbres AVL; Cependant, lefficacité des arbres rouges noirs ce traduit par une plus grande complexité dimplémentation; Les arbres AVL sont plus utilisés au niveau académique.

3 Propriétés Un arbre rouge et noir doit respecter les cinq propriétés suivantes: 1. Un nœud est soit rouge ou noir; 2. Une feuille doit être noir ou « Nil »; 3. La racine doit être noire * ; 4. Un parent rouge doit avoir deux fils noirs; 5. Chaque chemin dune feuille à la racine doit toujours comporter le même nombre de nœuds noirs. * Cette règle peut être facultative car elle na pas dimpact sur lefficacité de larbre.

4 Recherche dans larbre La recherche seffectue 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 à linsertion et à la suppression;

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

6 Insertion Un nouveau nœud est toujours ROUGE. Il ny 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 larbre rouge noir.

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

8 Insertion – Cas 0 Si « P » est la racine de larbre. Cest le seul cas où la hauteur noire de larbre augmente.

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

10 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 derreur si la notion est mal comprise.

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

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

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

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

15 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

16 Suppression Le nœud à supprimer nest pas tout le temps le nœud qui contient la valeur à supprimer de larbre. Si le nœud a zéro ou un fils, on le supprime, et cest 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 cest ce nœud le plus à gauche que lon supprime

17 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 5 e propriété de larbre 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.

18 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 »

19 Suppression Cas 0 « X » est la racine de larbre On annule simplement la double couleur noire Cest le seul cas où la hauteur noire de larbre diminue

20 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é.

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

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

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

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

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

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

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

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

29 Analyse et comparaison AVL


Télécharger ppt "Présentation Inventé en 1972 par Rudolf Bayer; Une arbre rouge noir (arbre bicolore) est un type dimplantation darbre binaire couramment utilisé; Les."

Présentations similaires


Annonces Google