ARBRES BINAIRES DE RECHERCHE

Documents pareils
ARBRES BINAIRES DE RECHERCHE

où «p» représente le nombre de paramètres estimés de la loi de distribution testée sous H 0.

Informations Techniques A7 A141. Roulements à Billes à Gorge Profonde. Roulements à Billes à Contact Oblique. Roulements à Billes Auto-Aligneurs

FINANCE Mathématiques Financières

11.5 Le moment de force τ (tau) : Production d une accélération angulaire

Mécanique du point : forces Newtoniennes (PCSI)

Créer un observatoire de la concurrence. Créer un observatoire de la concurrence. Démarche. ntérêt. C aractéristiques.

M F. F O Unité: [m. N] La norme du moment de force peut se calculer en introduit le bras de levier d

Moments partiels crédibilistes et application à l évaluation de la performance de fonds spéculatifs

tudes & documents ÉCONOMIE ET ÉVALUATION L assurance habitation dans les départements d Outre Mer n 24 Juin 2010

TRAVAUX DIRIGÉS DE M 6

Serveur vidéo IP. caméras analogiques PC serveur. PC Client 1. Serveur de stockage ( optionnel )

Chapitre 6: Moment cinétique

CONSTANTES DIELECTRIQUES

Quelques éléments d écologie utiles au forestier

Permis de feu. Travail par point chaud. r Soudage r Brasage. r Découpage r Tronçonnage. r Meulage r Autres. r Poste à souder r Tronçonneuse

DiaDent Group International

SYSTÈME D ALARME ET PRODUITS TRANSMETTEURS

Roulements à rotule sur deux rangées de rouleaux en deux parties

CIRCULAIRE N 02/04. Elle précise les méthodes de valorisation des titres de capital et des titres de créances contenus dans les actifs de l OPCVM.

SOMMAIRE. ATRACOM-Centrafrique Manuel de Procédures Administratives Financiers et Comptables

Guide de l acheteur de logiciel de Paie

Évaluation de l'incertitude de mesure par une méthode statistique ("méthode de type A") Voir cours d'instrumentation

Roulements à billes et à rouleaux

A la mémoire de ma grande mère A mes parents A Mon épouse A Mes tantes et sœurs A Mes beaux parents A Toute ma famille A Mes amis A Rihab, Lina et

Validation CFD axisymétrique de modèle zonal des écoulements gazeux de chambre de combustion de moteur Diesel

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

CLOUD CX263 MÉLANGEUR

CHAPITRE VI : Le potentiel électrique

Mémoire de DEA. Modélisation opérationnelle des domaines de référence

DEUXIEME ANNEE TRONC COMMUN TECHNOLOGIE TRAVAUX DIRIGES DE PHYSIQUE VIBRATIONS ONDES

GESTION DES RELATIONS HUMAINES ET COMPÉTENCES

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

PHYSIQUE DES SEMI-CONDUCTEURS

SINE QUA NON. Découverte et Prise en main du logiciel Utilisation de bases

DEMANDE D OUVERTURE D UN COMPTE EPARGNE REMUNERE (Réservé aux particuliers) Exemplaire Client (à conserver)

Po ur d o nne r un é lan à vo tre re traite

Les structures de données. Rajae El Ouazzani

Les arbres binaires de recherche

Mouvement d'une particule chargée dans un champ magnétique indépendant du temps

Limites finies en un point

Rencontrez votre filleul... au Bangladesh

Rappels Entrées -Sorties

CIGI 2011 Job shop sous contraintes de disponibilité des ressources : modèle mathématique et heuristiques

Bases de données réparties: Fragmentation et allocation

RAISONNER L INVESTIGATION EN RHUMATOLOGIE

2. De la Grâce à l action de Grâces Ph 1.3-7

Chapitre 7. Récurrences

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

RESOLUTION PAR LA METHODE DE NORTON, MILLMAN ET KENNELY

( Mecanique des fluides )

Guide 2005 GESTION. des solutions partenaires logiciels. IBM Software. commerciale (CRM) comptable et financière logistique marketing de la qualité

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

MODE D EMPLOI ENFANT MINEUR MONFINANCIER LIBERTE VIE

Algèbre binaire et Circuits logiques ( )

Les pertes de charge dans les installations. Le dimensionnement des mitigeurs. octobre 2005

Première promotion de l école de police de Repentigny Six cadets-policiers ont officiellem ent été assermentés

ANNALES SCIENTIFIQUES DE L É.N.S.

Continuité et dérivabilité d une fonction

Ministère de L Enseignement Supérieur et de la Recherche Scientifique. Université des Sciences et de la Technologie Houari Boumediene

MAISON DE L ARSLA 75 AVENUE DE LA REPUBLIQUE PARIS 28/03/2014

Magister en : Electrotechnique

Physique quantique. Dans l UF Physique Quantique et Statistique. 3ème année IMACS. Pierre Renucci (cours) Thierry Amand (TDs)

couleurs... Laquenexy de nouvelles l unique Jardin des Premières Nations réalisé en dehors de l Amérique du Nord.

Quelques Algorithmes simples

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

UE C avancé cours 1: introduction et révisions

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Considérations sur les contraintes liées à la gestion des données thermodynamiques en vue de la création de la base de données THERMODDEM

4. Un regard différent sur les circonstances Ph

I- Définitions des signaux.

Compression Compression par dictionnaires

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

Algorithmes d'apprentissage

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

D'CLICS CONSO. ayez les bons réflexes! Logement, téléphonie, mobilité, budget : soyez acteur de votre consommation!

Equations aux dérivées partielles

Programmation Par Contraintes

CONDUCTEURS EN EQUILIBRE ELECTROSTATIQUE

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 %

La mesure de Lebesgue sur la droite réelle

Flux Réseau et Sécurité

BONUS MALUS. Voici, la façon de calculer la prime : Le montant de la prime à acquitter est égale à : P = PB. C où : P

Univ. Béjaia, Faculté de la Technologie, Département d électronique

MÉTHODOLOGIE PROJET SYSTÈME D INFORMATION DÉCISIONNEL BI - BUSINESS INTELLIGENCE. En résumé :

1.1 Codage de source et test d hypothèse

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

Calculs de probabilités

Algorithmique, Structures de données et langage C

BACCALAURÉAT GÉNÉRAL SÉRIE SCIENTIFIQUE

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Manuel d utilisation Enregistreur autonome de poche. Version 1.1 TRO-TR-BADL100C-03-F

LE LOGEMENT AU NUNAVIK

Les déterminants de la diffusion d Internet en Afrique

CARACTERISTIQUES DES SECTIONS PLANES

Algorithmique et Programmation

O p é r a t i o n s i m m o b i l i è r e s. I n f r a s t r u c t u r e s. C P E R

Transcription:

ARBRES BINAIRES DE RECHERCHE

Table de smboles Recheche : opéation fondamentale données : éléments avec clés Tpe abstait d une table de smboles (smbol table) ou dictionnaie Objets : ensembles d objets avec clés tpiquement : clés compaables (abstaction : nombes natuels) Opéations : inset(, D) : insetion de l élément dans D seach(k, D) : echeche d un élément à clé k (peut ête infucteuse) Opéations pafois suppotées : delete(k, D) : suppime élément avec clé k select(i, D) : sélection de l i-ème élément (selon l ode des clés) i

Stuctues de données stuctues simples : tableau tié ou liste chaînée abe binaie de echeche tableau de hachage (plus tad) ii

Stuctues simples liste chaînée ou tableau non-tié : echeche séquentielle temps de Θ(n) au pie (même en moenne) tableau tié : echeche binaie temps de Θ(log n) au pie tableau tié : insetion/suppession en Θ(n) au pie cas iii

Abe binaie de echeche Dans un abe binaie de echeche, chaque nœud a une clé. Accès au nœuds : gauche() et doit() pou les enfants de (null s il n en a pas) paent() pou le paent de (null pou la acine) cle() pou la clé de nœud (en généal, un entie dans nos discussions) Déf. Un abe binaie est un abe de echeche ssi les nœuds sont énumeés los d un pacous infie en ode coissant de clés. Thm. Soit un nœud dans un abe binaie de echeche. Si est un nœud dans le sous-abe gauche de, alos cle() cle(). Si est un nœud dans le sous-abe doit de, alos cle() cle(). iv

Abe binaie de echeche eemple 9 6 12 3 8 11 15 1 4 7 19 v

Abe binaie de echeche (cont) À l aide d un abe de echeche, on peut implémente une table de smboles d une manièe tès efficace. Opéations : echeche d une valeu paticulièe, insetion ou suppession d une valeu, echeche de min ou ma, et des autes. Pou la discussion des abes binaies de echeche, on va considée les pointeus null pou des enfants manquants comme des pointeus ves des feuilles ou nœuds etenes Donc toutes les feuilles sont null et tous les nœuds avec une valeu cle() sont des nœuds intenes. vi

Min et ma Algo MIN() // touve la valeu minimale dans l abe 1 acine; null 2 tandis que null faie 3 ; gauche() 4 etoune Algo MAX() // touve la valeu maimale dans l abe 1 acine; null 2 tandis que null faie 3 ; doit() 4 etoune vii

Recheche Algo SEARCH(, v) // touve la clé v dans le sous-abe de F1 si = null ou v = cle() alos etoune F2 si v < cle() F3 alos etoune SEARCH(gauche(), v) F4 sinon etoune SEARCH(doit(), v) Maintenant, SEARCH(acine, v) etoune - soit un nœud dont la clé est égale à v, - soit null. Notez que c est une ecusion teminale tansfomation en fome itéative viii

Recheche (cont) Solution itéative (plus apide) : Algo SEARCH(, v) // touve la clé v dans le sous-abe de F1 tandis que null et v cle() faie F2 si v < cle() F3 alos gauche() F4 sinon doit() F5 etoune i

Recheche efficacité Dans un abe binaie de echeche de hauteu h : MIN() pend O(h) MAX() pend O(h) SEARCH(acine, v) pend O(h)

Insetion On veut insée une clé v Idée : comme en SEARCH, on touve la place pou v (enfant gauche ou doit manquant) 9 6 12 3 8 11 15 1 4 7 19 14 insetion de «14» i

Insetion (cont.) insetion pas de clés dupliquées Algo INSERT(v) // insèe la clé v dans l abe I1 acine I2 si = null alos initialise avec une acine de clé v et etoune I3 tandis que vai faie // (conditions d aête testées dans le cops) I4 si v = cle() alos etoune // (pas de valeus dupliquées) I5 si v < cle() I6 alos si gauche() = null I7 alos attache nouvel enfant gauche de avec clé v et etoune I8 sinon gauche() I9 sinon si doit() = null I10 alos attache nouvel enfant doit de avec clé v et etoune I11 sinon doit() ii

Suppession Suppession d un nœud 1. tiviale si est une feuille : gauche(paent()) null si est l enfant gauche de son paent, ou doit(paent()) null si est l enfant doit 2. facile si a seulement un enfant : gauche(paent()) doit() si a un enfant doit et il est l enfant gauche (4 cas en total dépendant de la position de et celle de son enfant) 3. un peu plus compliqué si a deu enfants iii

Suppession deu enfants 9 (1) pou suppime ce nœud, on cheche un aute qui peut le emplace 6 12 3 8 11 15 1 4 7 13 19 (2) pou le emplacement, on peut utilise le successeu de c'est le min dans le sous-abe doit 14 Lemme Le nœud avec la valeu minimale dans le sous-abe doit de n a pas d enfant gauche. iv

Insetion et suppession efficacité Dans un abe binaie de echeche de hauteu h : INSERT(v) pend O(h) suppession d un nœud pend O(h) v

Hauteu de l abe Toutes les opéations pendent O(h) dans un abe de hauteu h. Abe binaie complet : 2 h+1 1 nœuds dans un abe de hauteu h, donc hauteu h = lg(n + 1) 1 pou n nœuds est possible. Insetion successive de 1, 2, 3, 4,..., n donne un abe avec h = n 1. Est-ce qu il est possible d assue que h O(log n) toujous? Réponse 1 [andomisation] : la hauteu est de O(log n) en moenne (pemutations aléatoies de {1, 2,..., n}) Réponse 2 [optimisation] : la hauteu est de O(log n) en pie cas pou beaucoup de genes d abes de echeche équilibés : abe AVL, abe ouge-noi, abe 2-3-4 (eécution des opéations est plus sophistiquée mais toujous O(log n)) Réponse 3 [amotisation] : eécution des opéations est O(log n) en moenne (coût amotisé dans séies d opéations) pou des abes spla vi

Pefomance moenne Thm. Hauteu moenne d un abe de echeche constuit en inséant les valeus 1, 2,..., n selon une pemutation aléatoie est α lg n en moenne où α 2.99. (peuve top compliquée pou les buts de ce cous) On peut analse le cas moen en egadant la pofondeu moenne d un nœud dans un tel abe de echeche aléatoie : le coût de chaque opéation dépend de la pofondeu du nœud accédé dans l abe. Déf. Soit D(n) la somme des pofondeus des nœuds dans un abe de echeche aléatoie su n nœuds. On va démonte que D(n) n O(log n). (Donc le temps moen d une echeche fuctueuse est en O(log n).) vii

Pefomance moenne (cont.) Lemme. On a D(0) = D(1) = 0, et D(n) = n 1 + 1 n = n 1 + 2 n n 1 ( i=0 n 1 i=0 D(i) + D(n 1 i) D(i). Peuve. (Esquissé) i + 1 est la acine, somme des pofondeus = (n-1)+somme des pofondeus dans le sous-abe gauche +somme des pofondeus dans le sous-abe doit. D ici, comme l analse de la pefomance du ti apide... (en fait, chaque ABR coespond à une eécution de ti apide : pivot du soustableau comme la acine du sous-abe) ) viii

Abes équilibés Abes équilibés : on maintient une condition qui assue que les sous-abes ne sont top difféents à aucun nœud. Si l on veut mainteni une condition d équilibe, il fauda tavaille un peu plus à chaque (ou quelques) opéations... mais on veut toujous mainteni O(log n) pa opéation i

Balance les sous-abes Méthode : otations (gauche ou doite) pésevent la popiété des abes de echeche et pennent seulement O(1) Rotation doite à Rotation gauche à C A A B B C

Abes AVL AVL : Adelson-Velsk et Landis (1962) Déf. Un abe binaie est un abe AVL ssi à chaque nœud, la hauteu du sous-abe gauche et la hauteu du sous-abe doit diffèent pa 1 au plus. (hauteu d un sous-abe vide = -1.) On va donc stocke la hauteu de chaque sous-abe à sa acine. Remaque. On peut calcule la hauteu de tous les nœuds en pacous post-fie. i

Insetion dans abe AVL Insetion dans le sous-abe gauche d un enfant gauche : une otation si nécessaie monte ves la acine pou tove le nœud le plus pofond où l'équilibe est violé: ente ce nœud et le nœud inseé z, z est la feuille la plus distante qui détemine la hauteu A h h ou h-1 B C h Rotation doite à h+1 A +z B h ou h-1 h C z Changement dans la condition d'équilibe = > > ou = = = > < (cas smétique si sous-abe doit d un enfant doit ; autes cas plus compliqués) ii

Hauteu d un abe AVL Soit N(h) le nombe minimal de nœuds dans un abe AVL de hauteu h 0. On a N(0) = 1, N(1) = 2. Lemme. Pou tout h > 1, N(h) = N(h 1) + N(h 2) + 1. Lemme Il eiste c > 0 tel que N(h) cφ h 1 pou tout h 0 où φ = 1+ 5 2. (Notez que φ 2 = φ + 1.) Peuve La constante c sea spécifiée plus tad. Supposons que N(k) cφ k 1 pou tout 0 k < h. Alos, N(h) = N(h 1) + N(h 2) + 1 cφ h 1 + cφ h 2 1 = cφ h 1. Si on choisit c = 2, la bone est coecte pou h = 0, 1 et donc elle est coecte pou tout h. iii

Hauteu d un abe AVL (cont) Donc un abe AVL su n nœuds est de hauteu h log φ n + 1 2 = lg(n + 1) 1 lg φ 1.44 lg n O(log n). iv

Abes spla On utilise souvent des vaiables auiliaes pou mainteni l équilibe de l abe p.e., abe ouge et noi : au moins un bit (couleu) Abe spla : aucune vaiable mais O(log n) seulement comme coût amoti v

Abes spla (cont) Idée pincipale : otations sans tests spécifiques pou l équilibe Quand on accède à nœud, on pefome des otations su le chemin de la acine à pou monte à la acine. Déploiement (splaing) du nœud : étapes successives jusqu à ce que paent() devienne null (et donc devient la acine de l abe) vi

Zig et zag Tois cas majeus pou une étape de déploiement : 1. sans gand-paent (zig ou zag) 2. et paent() au même coté (gauche-gauche ou doit-doit : zig-zig ou zag-zag) 3. et paent() à des côtés difféents (gauche-doit ou doit-gauche : zig-zag ou zag-zig) Cas 1: zig 1 otation simple C A A B B C vii

Zig et zag (cont) Cas 2: zig-zig z 2 otations simples (à z et à ) D A C B z A B C D viii

Zig et zag (cont) Cas 3: zig-zag z Rotation double D z A A B C D B C i

Déploiement Choi de pou déploiement : inset : est le nouveau nœud seach : est le nœud où on aive à la fin de la echeche delete : est le paent du nœud effectivement suppimé attention : c est le paent ancien du successeu (ou pédecesseu) si on doit suppime un nœud à deu enfants (logique : échange de nœuds, suivi pa la suppession du nœud sans enfant)

Coût amoti Temps moen dans une séie d opéations «moen» ici : temps total divisé pa nombe d opéations (aucune pobabilité) Théoème. Le temps pou eécute une séie de m opéations (seach, inset et delete) en commençant avec l abe vide est de O(m log n) où n est le nombe d opéations d inset dans la séie. il peut aive que l eécution est tès apide au début et tout d un coup une opéation pend tès long... tout à fait acceptable si utilisé dans un algoithme i

Abes ouges et nois Idée : une valeu entièe non-négative, appellée le ang, associée à chaque nœud. Notation : ang(). Règles : 1. Pou chaque nœud ecepté la acine, ang() ang(paent()) ang() + 1. 2. Pou chaque nœud avec gand-paent = paent(paent()), ang() < ang(). 3. Pou chaque feuille (null) on a ang() = 0 et ang(paent()) = 1. ii

Abes RN (cont) D où vient la couleu? Les nœuds peuvent ête coloiés pa ouge ou noi. - si ang(paent()) = ang(), alos est coloié pa ouge - si est la acine ou ang(paent()) = ang() + 1, alos est coloié pa noi Thm. Coloiage : (0) chaque nœud est soit noi soit ouge (i) chaque feuille (null) est noie (ii) le paent d un nœud ouge est noi (iii) chaque chemin eliant un nœud à une feuille dans son sous-abe contient le même nombe de nœuds nois Peuve En (iii), le nombe de nœuds nois su le chemin est égal au ang. ang est pafois appelé «hauteu noie» iii

Abes RN (cont) ang 3 9 2 6 12 2 1 3 8 11 15 1 1 1 4 7 19 0 0 iv

Abes RN (cont) Thm. La hauteu dans un abe RN : pou chaque nœud, sa hauteu h() 2 ang(). Peuve. On doit avoi au moins autant de nœuds nois que des nœuds ouges dans un chemin de à une feuille. Thm. Le nombe de déscendants intenes de chaque nœud est 2 ang() 1. Peuve. Pa induction. Le théoème est vai pou une feuille quand ang() = 0. Supposons que le théoème est vai pou tout avec une hauteu h() < k. Considéons un nœud avec h() = k et ses deu enfants u, v avec h(u), h(v) < k. Pa l hpothèse d induction, le nombe des descendants de est 1+(2 ang(u) 1) + (2 ang(v) 1). O, ang() 1 ang(u), ang(v). v

Abes RN (cont) Thm. Un abe RN avec n nœuds intenes a une hauteu 2 lg(n + 1). vi

Abes RN balance Pou mainteni la balance, on utilise les otations comme avant + pomotion/étogadation : incémente ou décemente le ang +1 Pomotion de +1 Rétogadation de +1 pomotion/étogadation change la couleu d un nœud et ses enfants on peut pomouvoi ssi il est noi avec deu enfants ouges vii

Abes RN insetion on insèe avec ang() = 1 sa couleu est ouge Test : est-ce que le paent de est ouge? Si oui, on a un poblème ; sinon, ien à faie Solution : soit = paent(paent()) le gand-paent il est noi. Si a deu enfants ouge, alos pomouvoi et etoune au test avec. Pomotion de +1 viii

Abes RN insetion (cont) On a fini les pomotions et il a toujous le poblème que est ouge, son paent est ouge aussi, mais l oncle de est noi. Deu cas : Cas 1 quand et paent() sont au même côté (enfants gauches ou enfants doits) une otation suffit Cas 2 quand et paent() ne sont pas au même côté (l un est un enfant gauche et l aute un enfant doit) otation double est nécessaie (enfin, c est quate cas : 1a, 1b, 2a et 2b) i

Abes RN insetion (cont) Cas 1a : est ouge, son paent est ouge, son oncle est noi, et et paent() sont des enfant gauches Rotation doite à D C A B C D A B Cas 1b (enfants doits) est smétique l

Abes RN insetion (cont) Cas 2a : est ouge, son paent est ouge, son oncle est noi, est un enfant doit et paent() est un enfant gauche Rotation double D A A B C D B C Cas 2b ( est gauche et paent() est doit) est smétique li

Abes RN suppession Et suppession d un nœud? Technique similaie : pocéde comme avec l abe binaie de echeche, puis etogadations en ascendant ves la acine + O(1) otations (tois au plus) à la fin lii

Abes RN poblème On enlève un nœud : emplacement pa null (si aucun enfant) ou pa l enfant non-null. Ce denie peut ête de ang top petit (nœud noi emplacé pa nœud noi ). 1 1 2 2 1 0 1 0 ou 1 0 0 0 ou 1 Plusieus cas : Cas 0 : nœud ouge : étogadation il devient noi, et ien plus à faie Cas 1 : nœud noi avec une sœu noie Cas 2 : nœud noi avec une sœu ouge En cas 1, il faut véifie la couleu des enfants de la sœu (les neveu) liii

Abes RN suppession 1A Cas 1A : sœu noie, neveu nois décemente ang ( paent() ) : continue avec paent() en cas 0,1 ou 2. -1 Retogadation de -2 z -1-2 z -1 A B -2 u v -2 A B -2 u v -2 C D E F C D E F liv

Abes RN suppession 1B Cas 1B : sœu noie, neveu distant (v) ouge faie une otation simple et aête Rotation gauche à z -2 A B -1 ou -2 u z -1 v -1-2 -1-1 ou -2 u E v F -1 C D E F A B C D lv

Abes RN suppession 1C Cas 1C : sœu noie, neveu poche (u) ouge faie une otation double et aête Rotation double u -2 z -1-1 z -1 A B -1 u v -2-2 C D v -2 C D E F A B E F (quand ang(v) = 1, on peut toujous faie cette otation mais cas 1B est plus apide) lvi

Abes RN suppession 2 Cas 2 : sœu ouge faie une otation simple et continue en cas 1 avec Rotation gauche à z -2 z -1 v -1 A B -1 u v -1-2 -1 u E F C D E F A B C D si on continue en cas 1a (les enfants de u sont nois), alos la écusion se temine avec la étogadation de qui est ouge (cas 0 pou ) lvii

Abes RN efficacité Un abe ouge et noi avec n nœuds intenes et hauteu h O(log n). Recheche : O(h) mais h O(log n) donc O(log n) Insetion : 1. O(h) pou touve le placement du nouveau nœud 2. O(1) pou initialise les pointeus 3. O(h) pomotions en ascendant si nécessaie 4. O(1) pou une otation simple ou double si nécessaie O(h) en total mais h O(log n) donc O(log n) Suppession : O(log n) Usage de mémoie : il suffit de stocke la couleu (1 bit) de chaque nœud intene (astuce pou épagne un bit pa nœud : échange les pointeus gauche doit pou les nœuds nois couleu testée pa la compaaison des clés au enfants) lviii

Abe 2-3-4 Abe 2-3-4 : c est un abe de echeche non-binaie où chaque nœud peut avoi 2, 3 ou 4 enfants et stocke 1,2 ou 3 valeus toutes les feuilles sont au même niveau Équivaut à l abe ouge et noi : fusionne les nœuds ouges et leus paents nois. li

Tansfomation ente abes RN et 2-3-4 z z A B C D A B C D A B A B C A B C A B A A B C B C l

Abe RN abe 2-3-4 Qu est-ce qui se passe los d une insetion? On cée un nœud ouge : pomotions+otations en ascendant ves la acine Rotation : nœud noi avec un enfant ouge et son gand-enfant ouge tansfomé en un nœud noi avec deu enfants ouges Rotation z z z Décalage z C D A B C D A B li

Abe RN abe 2-3-4 (pomotions) ang u v Pomotion u v ang +1 ang u v Découpage u v C D E A B C D E A B lii

Abe RN abe 2-3-4 (cont) Cas spécial : pomotion de la acine (nouvelle acine) u v Découpage u v C D E A B C D E A B la hauteu de l abe coît pa le découpage de la acine (abe binaie de echeche : la hauteu coît pa l ajout de feuilles) liii