INFO-F-203 Algorithmique II: Ch-2
Arbres binaires de recherche, Rouges-Noirs
Exercice 1
1. Dessiner des arbres binaires de recherche de hauteur 2, 3, 4, 5 et 6 pour le mˆeme ensemble de cl´es
{1,4,5,10,16,17,21}.
2. Donner un algorithme non r´ecursif qui effectue un parcours infixe.
3. Donner des algorithmes r´ecursifs qui effectuent les parcours pr´efixe et postfixe en un temps Θ(n) sur
un arbre `a nnoeuds.
4. Montrer que, puisque le tri de n´el´ements prend un temps Ω(nlog(n)) dans le cas le plus d´efavorable
dans le mod`ele de comparaison, tous algorithme bas´e sur ce mod`ele qui construit un arbre binaire de
recherche `a partir d’une liste arbitraire de n´el´ements s’effectue au pire en Ω(nlog(n)).
Exercice 2
1. On suppose que des entiers compris entre 1 et 1000 sont dispos´es dans un arbre binaire de recherche
et que l’on souhaite trouver le nombre 363. Parmi les s´equences suivantes, lesquelles ne pourraient pas
ˆetre la suite des noeuds parcourus ?
– 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 Norris pense avoir d´ecouvert une remarquable propri´et´e des arbres binaires de recherche.
Supposez que la recherche d’une cl´e kdans un arbre binaire de recherche se termine sur une feuille.
On consid`ere trois ensembles : A, les cl´es situ´ees `a gauche du chemin de recherche ; B, celle situ´ee sur
le chemin de recherche ; et C, les cl´es situ´ees `a droite du chemin de recherche. Le professeur Norris
affirme que, ´etant donn´es trois a∈A, b ∈B, c ∈Cquelconques, ils doivent satisfaire `a a≤b≤c.
Est-ce que c’est vrai ? Si oui, dire pourquoi ; sinon, donner un contre-exemple.
3. Montrer que, si un noeud d’un arbre binaire de recherche a deux enfants, alors son successeur n’a pas
d’enfant de gauche et son pr´ed´ecesseur n’a pas d’enfant de droite quand toutes les cl´es sont diff´erentes.
4. Soit un arbre binaire de recherche Tdont les cl´es sont distinctes. Montrer que, si le sous-arbre de droite
d’un noeud xdans Test vide et que xa un successeur y, alors yest l’ancˆetre le plus bas de xdont
l’enfant de gauche est aussi un ancˆetre de x. (Ne pas oublier que chaque noeud est son propre ancˆetre.)
1