[PDF] Arbres rouge et noir [rn] Algorithmique





Previous PDF Next PDF



Arbres binaires de recherche [br] Algorithmique

Un arbre binaire de recherche est une structure de donnée qui permet de représen- sont l'insertion la suppression et la recherche d'une valeur.



INF601 : Algorithme et Structure de données - Cours 2 : TDA Arbre

27 févr. 2010 INF601 : Algorithme et Structure de données ... adjonction et suppression peuvent être en O(n) ... celle de l'arbre binaire de recherche ...



Algorithmes sur les arbres binaires de recherche

Seconde implémentation : Arbre Binaire de Recherche Recherche puis suppression dans le cas où l'élément est dans une feuille. `a supprimer.



ARBRES BINAIRES DE RECHERCHE

temps de ?(logn) au pire tableau trié : insertion/suppression en ?(n) au pire cas Dans un arbre binaire de recherche chaque nœud a une clé.



Chapitre 2 Structures de données arborescentes : arbres binaires

2. Arbres binaires de recherche. 2.1 Algorithmes de recherche dans un ABR. 2.2 Insertion et suppression dans un ABR. 2.3 Équilibrage des ABR.



CONCEPTION ALGORITHMIQUE 1. Programmation Dynamique La

des arbres binaires de recherche optimaux. 1. Programmation Dynamique Nous allons décomposer l'algorithme de suppression en trois parties.



Arbres rouge et noir [rn] Algorithmique

insertion et suppression la recherche étant celles des arbres binaires de Un arbre binaire de recherche est un arbre rouge et noir s'il satisfait les ...



Révision Final

Si k est dans l'arbre l'algorithme chercher(k) se terminera sur un noeud interne v. Supprimer dans un arbre binaire de recherche (suite).



Arbres AVL AV - L

exécuter l'algorithme d'insertion d'un arbre binaire de recherche. Pour supprimer un élément de clé k dans un arbre AVL on commence par.



Rappels algorithmiques

parcours pour les arbres binaires les algorithmes de recherche et de mise à suppression de la clé à la racine dans l'arbre binaire de recherche de la.



Arbres binaires de recherche [br] Algorithmique - Unisciel

Un arbre binaire de recherche est une structure de donn ee qui permet de repr esen-ter un ensemble de valeurs si l’on dispose d’une relation d’ordre sur ces valeurs Les op erations caract eristiques sont l’insertion la suppression et la recherche d’une valeur Ces op erations sont peu cou^teuses si l’arbre n’est pas trop d es



Algorithmique avancée - Arbres binaires de recherche

Un arbre binaire de recherche (ABR) est un arbre binaire dans lequel chaque nœud possède une clé telle que • chaque nœud du sous-arbre gauche possède une clé inférieure ou égale à celle du nœud considéré • chaque nœud du sous-arbre droit possède une clé supérieure ou égale à celle-ci



ARBRES BINAIRES DE RECHERCHE - Université de Montréal

A l’aide d’un arbre de recherche on peut impl` ementer une table de symboles d’une´ maniere tr` es ef?cace ` Operations :´ recherche d’une valeur particuliere` insertion ou suppression d’une valeur recherche de min ou max et des autres Pour la discussion des arbres binaires de recherche on va considerer les pointeurs´



Algo 2 séance 6 Arbres binaires de recherche (ABR (suite

Algo 2 { s eance 6 Arbres binaires de recherche (ABR (suite) : suppression et arbres equilibr es Franck Hetroy et Denis Trystram mars 2017 1/37 ECOLE NATIONALE SUPERIEURE 1 / 37



Searches related to arbre binaire de recherche algorithme suppression PDF

mais insertion/suppression en (1) [si non-tri´e]? tableau tri´e : recherche binaire — temps de (log n) au pire mais insertion/suppression en ( n) au pire cas 13 2 Arbre binaire de recherche (ABR) (fr) 9 6 12 3 8 11 15 1 4 7 19 chaque nœud interne poss`ede une cl ´e : les cl es sont´ comparables De?nition 13 1 ´ Dans un arbre binaire

Qu'est-ce que l'arbre binaire de recherche?

Un arbre binaire de recherche (ABR) est un type de données abstrait constitué d’un couple (clé,valeur).  Chaque élément a une clé unique, i.e une clé identi?e un élément de façon unique.  Les clés dans un sous arbre gauche non vide doivent être inférieures à la clé de la racine de ce sous arbre.

Comment manipuler un arbre binaire?

?Un arbre binaire est : ? soit l’arbre vide ? soit un nœud qui a exactement deux fils (éventuellement vides) ?Pour manipuler les arbres binaires, on a besoin de primitives ? d’accès ? de test ? de construction Licence Lyon1 - UE LIF3 M. Lefevre - N. Guin - F. Zara

Quelle est la structure hiérarchique d'un arbre binaire?

NSI Terminale S2 : Structures hiérarchiques : Arbres 2/19 binaire. Dans un arbre binaire, on a au maximum 2 branches qui partent d'un élément (pour le système de fichiers, on a 7 branches qui partent de la racine : ce n'est donc pas un arbre binaire). Dans la suite nous allons uniquement travailler sur les arbres binaires 2. Arbre binaire

Comment supprimer un nœud d’un arbre binaire de recherche ?

Supprimez récursivement minnode du sous-arbre de droite. Retournez le pointeur vers la racine d’origine. En moyenne, la complexité temporelle de la suppression d’un nœud d’une BST est de l’ordre de la hauteur de l’arbre binaire de recherche. En moyenne, la hauteur d’une BST est de O (logn).

Arbres rouge et noir [rn]

Algorithmique

Karine Zampieri, Stephane Riviere

UniscielalgoprogVersion 21 mai 2018

Table des matieres

1 Denitions, Representation

2

2 Rotations

3

3 Insertion d'un element

4

4 Suppression d'un element

8

5 Complexite

12

Arbres rouge et noirMots-ClesArbres rouge et noir

RequisAxiomatique imperative, Recursivite des actions, Complexite des algorithmes,

Arbres binaires de recherche

Diculte• • ◦Introduction

Lesarbres rouge et noirsontundes schemas d'arbres binaires de recherche dits equilibres. Ce module presente les denitions puis decrit les operations de rotations, insertion et suppression, la recherche etant celles des arbres binaires de recherche. 1 Unisciel algoprog { rn00cours-texte, May 21, 20182

1 Denitions, RepresentationArbre rouge et noir

Un arbre binaire de recherche est unarbre rouge et noirs'il satisfait les proprietes suivantes : 1.

Ch aquen oeudest so itro uge,so itn oir.

2.

Ch aquefeu ille( Nil) est noire.

3. S iu nn oeudest r ougea lorsses d eux lss ontn oirs. 4. T ousl esc heminsd escendantsq uir elieu nn oeudd onne au nefeu ille( dusou s-arbre dont il est la racine) contiennent le m^eme nombre de noeuds noirs.Hauteur noire On appellehauteur noired'un noeudx, le nombre de noeuds noirs sur un chemin descendant dexa une feuille.Exemple La gure presente un exemple d'arbre rouge et noir. Dans toutes les gures, les noeuds sont a fond noir et lessont a fond blanc.15 Nil

N ilNilN il

Nil

N ilNil

Nil N il Nil2 4 17 11 14

58Fonctionnalites

En plus de celles de l'arbre de recherche :

•Methodes de la couleur •Methodes du grand-pereRepresentation Un noeud sera represente par :étiquette,filsgauche,filsdroit,père,couleur. Unisciel algoprog { rn00cours-texte, May 21, 20183

2 RotationsLes rotations

La gure presente les transformations d'arbres binaires appeleespour d'evi- dentes raisons.x y A B C yx C B

ARotation-Droite(T,y)

Rotation-Gauche(T,y)Attention

Les rotations preservent la propriete des arbres de recherchemais pascelle des arbres rouge et noir.Algorithme RotationGauche Realise la rotation gauche pour un arbre binaireTen un noeudx(la rotation droite etant bien evidemment symetrique).RotationGauche(T,x)

Débuty<- droit (x)

droit x gauche y

Sigauche(y) <>Nil Alorspère(gauche(y)) <-x

FinSi p re y p re x

Sipère(y) =Nil Alorsracine(T) <-y

Sinon Si x= gauche (père(x))Alorsgauche(père(x)) <-y Sinon droit p re x y FinSi gauche y x p re x y Fin Unisciel algoprog { rn00cours-texte, May 21, 20184

3 Insertion d'un elementPrincipe de l'insertion dans un arbre rouge et noir

On peut essayer d'inserer le nouveau noeud comme si l'arbre n'etait qu'un vulgaire arbre de recherche. Pour ce qui est du choix de la couleur du noeud insere, le noir esta priori a proscrire puisqu'il provoqueraitsystematiquementune violation de la propriete 4. On choisit donc de colorier le nouveau noeud en rouge ce qui provoqueraparfoisdes violations de la propriete 3 : un pere et un ls etant tous les deux rouges. On etudie donc les dierents cas de violations.Cas pathologique 1 La gure ci-dessous presente unepremiere seriede congurations pathologiques pour l'insertion dans un arbre rouge et noir qui sont transformees en d'autres congurations. Les cas non traites sont symetriques de ceux presentes.Transformation

Transformation

A αB D D ? A βB γA αB D D A βB γx nouvelx nouvelx x ?δC CC C Ici, seule la propriete 3 est violee,xetant le noeud source du probleme. Les sous-arbres α,β,γ,δet?sont tous de racine noire et ont tous la m^eme hauteur noire. L'algorithme faitla couleur noire du grand-pere dexsur le pere et l'oncle dex, ce qui revient a faire remonter le probleme dans l'arbre, seule la propriete 3 pouvant ^etre violee par cette transformation.Cas pathologique 2 La gure suivante presente unedeuxieme seriede congurations pathologiques, ces congurations la pouvant ^etre resolues par l'application d'une ou de deux rotations selon les cas. Unisciel algoprog { rn00cours-texte, May 21, 20185AC

γ δA

αB A B γC δB C B

βRotation-Gauche(A)

arbre valide (b) ( c) (d)(a)x xx xBC CA A Ici aussi, seule la propriete 3 est violee :xest le noeud source du probleme et nous ne sommes pas dans un des cas traites par la gure @[Cas pathologique 1]. Les sous- arbresα,β,γetδsont tous de racine noire et ont tous la m^eme hauteur noire (et les transformations d'un cas a l'autre preservent cette propriete). Ici on conjugue des rotations et des changements de couleur des noeuds.Algorithme RNInsertion Insertion d'un element enxdans un arbre rouge et noirT(suite a cette etude) :RNInsertion(T,x)

DébutABRInsertion(T,x)

couleur x Rouge

TantQuex<> racine (T)etcouleur(père(x)) =Rouge FaireSipère(x) =gauche (grand-père(x))Alorsy<- droit (grand-père(x))

Sicouleur(y) =Rouge Alors//Pathos 1

couleur p re x Noir couleur y Noir couleur grand p re x Rouge x grand p re x Sinon

Six= droit (père(x))Alors//Pathos 2( a)

x p re x

RotationGauche

T x FinSi

Pathos

2( b couleur p re x Noir couleur grand p re x Rouge

RotationDroite

T grand p re x FinSi Sinon m me chose que pr c demment en changeant droit etgauche) Unisciel algoprog { rn00cours-texte, May 21, 20186FinSi

FinTantQue

couleur racine T Noir Fin

Exemple

La gure presente les dierents cas pathologiques pouvant appara^tre apres l'insertion.A chaque fois le noeudxet son pere sont tous les deux rouges.

•(a) L'oncle dex(qui vaut 4) est egalement rouge : on se trouve donc dans le @[Cas pathologique 1].2 5 8 4151
1411
7 La couleur noire du grand-pere descend sur le pere et l'oncle dex, lequel est repeint en rouge, puis le probleme est remonte de deux crans : icixvaut 7.2 4 15 1 814
11 5 7 •(b) L'oncle dexest noir etxest le ls droit de son pere : on se trouve donc dans le @[Cas pathologique 2(a)]. On applique alors une rotation gauche sur le pere de xet on aboutit a la situation du cas suivant : icixvaut 2. Unisciel algoprog { rn00cours-texte, May 21, 201874 15 2 511
14 87
1 •(c) L'oncle dexest noir,xest le ls gauche de son pere et son pere est le ls gauche de son grand-pere : on se trouve donc dans le @[Cas pathologique 2(b)]. On applique alors une rotation droite sur le grand-pere dex. Le pere dexest alors repeint en noir et l'ancien grand-pere dexen rouge, ce qui nous donne un arbre rouge et noir valide.15 42
8 517
11 14 Unisciel algoprog { rn00cours-texte, May 21, 20188

4 Suppression d'un elementPrincipe de la suppression dans un arbre rouge et noir

On commence d'abord par appliquer l'algorithme de suppression pour les arbres de re- cherche. Si l'element supprime etait de couleur rouge, aucune des proprietes des arbres rouge et noir n'est violee. Par contre, si le noeud supprime etait noir la propriete 4 (tous les chemins descendants d'un noeud a une feuille contiennent le m^eme nombre de noeuds noirs) peut ^etre violee. Il nous faut doncrajouterun noeud noir sur tous les chemins perturbes. Pour ce, on rajoute un noeud noir a l'unique ls du noeud supprime (pour l'unicite du ls, voir l'algorithme de suppression @[ABRSuppression]). Si ce ls etait rouge, l'arbre obtenu est un arbre rouge et noir. Si ce ls etait deja noir, on a deuxempiles sur un m^eme noeud et il nous faut les repartir.Cas pathologiques La gure suivante presente les congurations pathologiques pour la suppression dans un arbre rouge et noir et les methodes de resolutions associees. Si le noeud supprime n'avait pas de ls, on rajoute una la feuilleNilcorrespon- dante de son pere. Pour pouvoir realiser cette manipulation, on utilise une sentinelle : un noeud special valantNilet qui permet de ne pas traiter a part les feuillesNil. Les noeuds a fond noir sont des noeuds, ceux a fond blanc sontet quelconques. Le noeudxcomporte un noir supplementaire. Cas 1Ce cas est transforme en cas 2, 3 ou 4. (Rotation gauche enDavec recoloration

DetB.)

Cas 2Le noir supplementaire est remonte sur le pere dex, l'oncle dexetant repeint en rouge; si le pere dexetait rouge l'arbre est de nouveau valide, sinon on rapplique l'algorithme de correction cette fois-ci sur le pere dex.

Cas 3Ce cas est transforme en cas 4.

Cas 4Le noir supplementaire est elimine par rotation gauche sur le pere dexet reco- loriage du pere et de l'oncle dex. Unisciel algoprog { rn00cours-texte, May 21, 20189Cas 3 D C A

αxc

E D A δc nouveauwE D A δc E D A

δCas 4

A B E

γαE

D A

δCas 1

Aquotesdbs_dbs26.pdfusesText_32
[PDF] parcours en profondeur arbre

[PDF] arbre binaire complet

[PDF] dénombrement cours

[PDF] arbre de probabilité pile ou face

[PDF] arbre de probabilité seconde

[PDF] arbre probabilité conditionnelle

[PDF] arbre de décision exercices corrigés

[PDF] arbre de décision data mining

[PDF] cours arbre de décision

[PDF] classification par arbre de décision

[PDF] arbre de décision exemple

[PDF] arbre de décision cart

[PDF] construire un arbre de décision

[PDF] arbre de décision définition

[PDF] dénombrement cours 1ere s