Correspondance entre les arbres (2,4) et les arbres rouges-noirs

Documents pareils
CH.6 Propriétés des langages non contextuels

Les arbres binaires de recherche

ARBRES BINAIRES DE RECHERCHE

SIGNAUX NUMERIQUES ET MODULATIONS NUMERIQUES

Comparaison de fonctions Développements limités. Chapitre 10

Algorithmique, Structures de données et langage C

Les structures de données. Rajae El Ouazzani

IBM Tivoli Monitoring. Guide d utilisation. Version SH

Représentation des Nombres

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Chapitre 7. Récurrences

Enquête de satisfaction CARCEL Prévoyance synthèse

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

IBM Business Process Manager Standard Guide d'installation

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Arbres binaires de recherche

Feuille TD n 1 Exercices d algorithmique éléments de correction

Quelques Algorithmes simples

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Ecran : Processeur : OS : Caméra : Communication : Mémoire : Connectique : Audio : Batterie : Autonomie : Dimensions : Poids : DAS :

Créer vos données sources avec OpenOffice, adieu Excel

CREATION D UNE EVALUATION AVEC JADE par Patrick RUER (

Personnalisation et recommandation * ENEIDE

EXTRACTION ET RÉINTÉGRATION DE COMPTA COALA DE LA PME VERS LE CABINET

My Custom Design ver.1.0

Parcours FOAD Formation EXCEL 2010

Module Criteo Tags et Flux pour Magento

Troisième projet Scribus

Notes pour l utilisation d Expression Web

Université Mohammed Khidher Biskra A.U.: 2014/2015

INF601 : Algorithme et Structure de données

Cours de Master Recherche

Formats d images. 1 Introduction

Une brique dans le cartable. Du Plan à l Ouvrage

Débuter avec Excel. Excel

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Créez des étiquettes avec Microsoft Word et Excel (Versions Windows 10 et 11)

UTILISER LA MESSAGERIE

IBM Unica Campaign Version avril Guide de la migration des données

Installation Client (licence réseau) de IBM SPSS Modeler 14.2

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Mode d emploi de la clef USB de l I.P.I. Philosophie de la clef USB

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

MIS 102 Initiation à l Informatique

Resolution limit in community detection


ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne

Transmission d informations sur le réseau électrique

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var Tel : bij@agasc.fr Word: Les tableaux.

Bases de données documentaires et distribuées Cours NFE04

Interface PC Vivago Ultra. Pro. Guide d'utilisation

Je sais utiliser. Création d une galerie photo pour un site Web. Picasa crée les documents. HTML pour insérer une galerie de photos dans un site web

COURS BARDON - EXCEL 2010

1 è r e étape : créer sa base de d o n n é e s

La Programmation Orientée Agent Les Agents Réactifs

SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com

Créer un publipostage avec Microsoft Word

Le publipostage avec Open Office

LotusLive. LotusLive - Guide d'administration

Algorithmique I. Algorithmique I p.1/??

Rétablissement d un réseau cellulaire après un désastre

Etude comparative de différents motifs utilisés pour le lancé de rayon

Introduction à Expression Web 2

Université Bordeaux 1. Formation Excel Initiation. Hanquiez Vincent, UMR 5805-EPOC

Techniques d optimisation des requêtes dans les data warehouses

Logiciel de Base. I. Représentation des nombres

Malgré son aspect spartiate, Freeplane offre de nombreuses fonctionnalités en particulier dans le domaine de la diffusion des cartes sur le Web.

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

Compression de Données - Algorithme de Huffman Document de Conception

Réalisez votre propre carte de vœux Éléctronique

Formation tableur niveau 1 (Excel 2013)

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

La société Klippan France dont l usine est à Gournay-en-Bray en Normandie, La société Autoliv S.A. dont l usine est à Seclin dans le Nord, Normandie.

Exercice 6 Associer chaque expression de gauche à sa forme réduite (à droite) :

Quelques tests de primalité

Indications pour une progression au CM1 et au CM2

Guide des autorisations d urbanisme

Licence Sciences et Technologies Examen janvier 2010

2 Moodle Guide 2c : banque de questions et activité Test. Version du service

M55 HD. Manuel Utilisateur

Numbers sur ipad. Atelier Formation Numbers sur ipad. [Notes extraitres de l'aide en ligne]

TUTORIEL PAINTPOT. Louise Henninot - Anne- Cécile Patou - Julie Roquefort

Adobe Illustrator Logiciel de dessin vectoriel et de Cartographie Assistée par Ordinateur

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE LA FORMATION PROFESSIONNELLE. Microsoft. Excel XP

Codage d information. Codage d information : -Définition-

Logiciel de gestion pour restaurants et Bars

AUTOPORTE III Notice de pose

Prêt(e) pour le CE1. Tu es maintenant au CE1. Avant de commencer les leçons, nous allons réviser avec toi!

Manuel d utilisation. Anne RACINE. A. Racine Référence: Manuel MS Project.doc 03/03/2003 Page 1

Utiliser Freemind à l'école

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

IBM Director Guide d installation et de configuration

Programmation Par Contraintes

Differential Synchronization

Pas à pas. Saisie des Factures en décentralisé - UQAM

3 tournevis TOR-X T6, T7 et T12 1 petit tournevis tête plate 1 paire de pince plate Petites «lames» en plastique ou petits tournevis de modélisme

Amplificateur à deux étages : gains, résistances "vues", droites de charges, distorsion harmonique

Formula Negator, Outil de négation de formule.

Transcription:

Correspondance entre les arbres (,) et les arbres rouges-noirs On peut oir un arbre rouge-noir comme étant la représentation d un arbre (,) par un arbre binaire de recherche dont les noeuds sont colorés rouge ou noir En comparaison aec les arbres (,), les arbres rouges-noirs ont La même compleité logarithmique Plus simple à implémenter car on a une seule sorte de noeud 3 5 7 5 3 ou 3 5 7 1

Arbres rouges-noirs Un arbre rouge-noir peut aussi être défini comme étant un arbre binaire de recherche qui satisfait les propriétés suiantes: Propriété de racine: La racine est noir Propriété eterne: Les noeuds eternes sont noirs Propriété interne: Les enfants d un noeud rouge sont noirs Propriété de profondeur: Tous les noeuds eternes ont la même profondeur noir, qui est définie comme étant le nombre d ancêtre interne noir 9 15 1 1 7

Hauteur d un arbre rouge-noir La hauteur d un arbre rouge-noir gardant en mémoire n éléments est en O(log n) Preue: La hauteur d un arbre rouge-noir est au plus le double de la hauteur de l arbre (,) lui correspondant, qui est de O(log n) L algorithme de recherche dans un arbre rouge-noir est eactement le même algorithme que pour la recherche dans un arbre binaire de recherche On a donc que la compleité en temps de la recherche dans un arbre rouge-noir est en O(log n) 3

Insertion dans un arbre rouge-noir Pour insérer un élément (k,) dans un arbre rouge-noir, on eécute l algorithme d insertion d un arbre binaire de recherche et on colore rouge le noueau noeud, sauf si est la racine Eemple: Insérer un élément de clé Les propriétés de racine et de profondeur, de même que la propriété eterne sont préserées Si le parent n de est noir, on présere aussi la propriété interne et on a terminé l algorithme d insertion Sinon, on a un double rouge et on doit modifier l arbre pour rétablir la propriété interne. n 3 8 n 3 8

Remédier à un double rouge Considérons un double rouge:, le parent rouge,, le fils rouge et considérons w, le frère de. Cas 1: w est noir on peut oir le double rouge comme un remplacement incorrect d un -noeud Restructuration: On eécute le bon remplacement du -noeud Cas : w est rouge on peut oir le double rouge comme un débordement dans un arbre (,) Recoloration: On performe l équialent d un fractionnement w 7 w 7.... 7 7 5

Cas 1: Restructuration Considérons un double rouge:, le parent rouge,, le fils rouge et considérer w, le frère de. Lorsque w est noir, on eécute une restructuration Cela reient à eécuter le remplacement correct du -noeud La propriété interne est restorée et les autres propriétés sont préserées w 7 w 7 7....

Cas 1: Restructuration (suite) Il y a configurations possibles demandant une restructuration, dépendant de l emplacement des deu noeuds rouges formant le double rouge a b c 7

Cas : Recoloration Considérons un double rouge:, le parent rouge,, le fils rouge et considéroms w, le frère de. Lorsque w est rouge, on eécute une recoloration On recolore le parent et son frère w en noir et le grand-parent (le parent de ) deient rouge, sauf si c est la racine Cela correspond à eécuter le fractionnement d un 5-noeud Il est possible que le double rouge se propage che le grand-parent w 7 w 7 7 7 8

Compleité en temps d une insertion Algorithme insérer(k, o) 1. On eécute chercher(k) pour trouer le noeud d insertion. On insère le nouel élément (k, o) dans le noeud et on colore rouge 3. Tant que doublerouge() si estnoir(frère(parent())) restructure() sinon recolore() La hauteur d un arbre rouge-noir gardant en mémoire n éléments est en O(log n) L étape 1 prend un temps O(log n), étant donné qu on doit isiter O(log n) noeuds lors de la recherche L étape prend un temps O(1) L étape 3 prend un temps O(log n), étant donné qu on eécute au plus O(log n) recolaration, chacune prenant un temps O(1) Au plus une restructuration prenant un temps O(1) L insertion d un élément dans un arbre rouge-noir prend donc un temps O(log n) 9

Suppression dans un arbre rouge-noir Pour supprimer un élément de clé k dans un arbre rouge-noir, on eécute l algorithme de suppression d un arbre binaire de recherche 10

Supprimer dans un arbre binaire de recherche (rappel) Pour enleer un élément de clé k dans un arbre binaire de recherche, on commence par eécuter l algorithme chercher(k). Eemple 1: Enleer() Si k est dans l arbre l algorithme chercher(k) se terminera dans un noeud interne w > < 5 51 w 8 9 Si l un des enfant de w est une feuille, on enlèe cette feuille et w Sinon... 1 5 8 9 11

Supprimer dans un arbre binaire de recherche (suite) Si k est dans l arbre, l algorithme chercher(k) se terminera dans un noeud interne w. Si les fils de w sont tous les deu des noeuds internes alors Eemple : Enleer(3) On troue le noeud interne y qui suit w lors d un parcours symétrique de l arbre et son fils gauche On enlèe l entrée dans w et on la remplace par l entrée dans y 1 > 3 y w 5 8 9 On enlèe les noeuds y et 1 5 w 8 9 1

Suppression dans un arbre rouge-noir Pour supprimer un élément de clé k d un un arbre rouge-noir, on eécute l algorithme de suppression d un arbre binaire de recherche Soit, le noeud interne et w, le noeud eterne enleer lors de la suppression. Soit r, le frère de w. Si soit ou r était rouge, on colore r noir et on a terminé Sinon ( et r était noir), enleer a causer une iolation de la propriété de profondeur et demander une restructuration de l arbre. On appelera cette situation double noir au noeud r. 3 8 r w 3 r 13

Remédier à un double noir Soit r le noeud double noir. Soit y, le frère de r. Cas 1: Si y est noir et a un fils rouge, on performe une restructuration qui équiaut à un transfert dans l arbre (,) correspondant. À la suite de cette restructuration, toutes les propriétés des arbres rouges-noirs sont rétablies. 10 0 30 0 y 10 0 30 30 0 r y ou 10 0 0 r 0 10 30 0 0 10 30 0 1

Remédier à un double noir Soit r le noeud double noir. Soit y, le frère de r. Cas : Si y est noir et les deu fils de y sont noirs, on performe une recoloration qui équiaut à une fusion dans l arbre (,) correspondant. La recolaration peut causer un problème de double noir che le parent de r. 10 30 0 y 10 0 30 0 r 0 10 0 30 0 y 10 0 30 0 r 15

Remédier à un double noir Soit r le noeud double noir. Soit y, le frère de r. Cas 3: y est rouge, on performe un ajustement qui équiaut à choisir une représentation différente d un 3-noeud dans l arbre (,) correspondant. L ajustement a nous ramener soit dans le cas 1, soit dans le cas... 10... 0 30 0 Tet 10 y 0 30 0 r 0 30 10...... 10 0 y 0 30 0 r 1

Insertion: Remédier à un double rouge Opérations arbres rouge-noir Opérations arbres (,) Résultats Restructuration Recoloration Changement de représentation d un -noeud Fractionnement Le double rouge est enleé Le double rouge est enleé ou il se propage ers le haut Suppression: Remédier à un double noir Opérations arbres rouge-noir Opérations arbres (,) Résultats Restructuration Transfert Le double noir est enleé Recoloration Ajustement Fusion Changement de représentation d un 3-noeud Le double noir est enleé ou il se propage ers le haut Suii d une restructuration ou d une recoloration 17