Vous êtes sur la page 1sur 2

INFO-F-310 Algorithmique III: Chp2.

Arbres binaires de recherche, Rouges-Noirs

Exercice 1

cf : Introduction ` lAlgorithmique (Cormen) ex 12.1 a

1. Dessiner des arbres binaires de recherche de hauteur 2, 3, 4, 5 et 6 pour le mme ensemble de cls e e {1, 4, 5, 10, 16, 17, 21}. 2. Donner un algorithme non rcursif qui eectue un parcours inxe. (conseil: il existe une solution simple e qui fait ` une pile comme structure de donnes auxiliaire et une solution plus complique, mais plus a e e lgante, qui nutilise aucune pile mais qui suppose quon peut tester lgalit de deux pointeurs.) ee e e 3. Donner des algorithmes rcursifs qui eectuent les parcours prxe et postxe en un temps (n) sur e e un arbre ` n noeuds. a 4. Montrer que, puisque le tri de n lments prend un temps (nlg(n)) dans le cas le plus dfavorable ee e dans le mod`le de comparaison, tous algorithme bas sur ce mod`le qui construit un arbre binaire de e e e recherche ` partir dune liste arbitraire de n lments seectue au pire en (nlg(n)). a ee

Exercice 2

cf : Introduction ` lAlgorithmique (Cormen) ex 12.2 a

1. On suppose que des entiers compris entre 1 et 1000 sont disposs dans un arbre binaire de recherche e et que lon souhaite trouver le nombre 363. Parmi les squences suivantes, lesquelles ne pourraient pas e tre la suite des noeuds parcourus? e 2, 252, 401, 398, 330, 344, 397, 363. 924, 220, 911, 244, 898, 258, 362, 363. 925, 202, 911, 240, 912, 245, 363. 2, 399, 387, 219, 266, 382, 381, 278, 363. 935, 278, 347, 621, 299, 392, 358, 363. 2. Le professeur Szmoldu pense avoir dcouvert une remarquable proprit des arbres binaires de recherche. e ee Supposez que la recherche dune cl k dans un arbre binaire de recherche se termine sur une feuille. e On consid`re trois ensembles: A, les cls situes ` gauche du chemin de recherche; B, celle situe sur e e e a e le chemin de recherche; et C, les cls situes ` droite du chemin de recherche. Le professeur Szmolde e e a arme que, tant donns trois a A, b B, c C quelconques, ils doivent satisfaire ` a b c. e e a Donner un contre-exemple qui soit le plus petit possible. 1

3. Montrer que, si un noeud dun arbre binaire de recherche a deux enfants, alors son successeur na pas denfant de gauche et son prdcesseur na pas denfant de droite quand toutes les cls sont direntes. e e e e 4. Soit un arbre binaire de recherche T dont les cls sont distinctes. Montrer que, si le sous-arbre de droite e dun noeud x dans T est vide et que x a un successeur y, alors y est lanctre le plus bas de x dont e lenfant de gauche est aussi un anctre de x. (Ne pas oublier que chaque noeud est son propre anctre.) e e

Exercice 3

cf : Introduction ` lAlgorithmique (Cormen) ex 12.3 a

1. On peut trier un ensemble donn de n nombres en commenant par construire un arbre binaire de e c recherche contenant ces nombres (en rptant ARBRE-INSERER pour insrer les nombres un ` un), e e e a puis en imprimant les nombres via un parcours inxe de larbre. Quels sont les temps dexcution de e cet algorithme de tri, dans le pire et dans le meilleur des cas? 2. Lopration de suppression est-elle commutative au sens o` la suppression de x puis de y dans un arbre e u binaire de recherche produit le mme arbre que la suppression de y puis de x? Si oui, dire pourquoi; e sinon, donner un contre-exemple.

Exercice 4

cf : Introduction ` lAlgorithmique (Cormen) ex 13.1 a

1. Supposons que lon absorbe chaque noeud rouge dun arbre rouge-noir dans son parent noir, de faon c que les enfants du noeud rouge deviennent des enfants du parent noir. (On ne se proccupe pas de ce e quil advient des cls.) Quels sont les degrs possibles dun noeud noir apr`s absorption de tous ses e e e enfants rouges? Que peut-on dire des profondeurs des feuilles de larbre rsultant? e 2. Montrer que le chemin simple le plus long reliant un noeud x dun arbre rouge-noir ` une feuille a une a longeur qui est au plus gal ` deux fois celle du plus court chemin simple reliant le noeud x ` une e a a feuille. 3. Quel est le plus grand nombre possible de noeuds internes dun arbre rouge-noir de hauteur noire k? Quel est le plus petit nombre possible?

Exercice 5

cf : Introduction ` lAlgorithmique (Cormen) ex 13.2, 13.3 a

1. Montrer que tout arbre binaire de recherche ` n noeuds peut tre transform en nimporte quel autre a e e arbre binaire de recherche ` n noeuds, ` laide de O(n) rotations. (Conseil: Commencer par montrer a a quau plus n 1 rotations droite susent ` transformer larbre en une cha oriente vers la droite.) a ne e 2. Montrer les arbres rouge-noir qui rsultent de linsertion successive des cls: 41, 38, 31, 12, 19, 8 dans e e un arbre rouge-noir initialement vide. 3. Montrer les arbres rouge-noir issue de la suppression successive des cls: 8, 12, 19, 31, 38, 41 de lexercice e prcdent. e e