Examen
Maˆıtrise d’Informatique — UPMC
Fili`ere Algorithmique et Programmation.
Module Algorithmique avanc´ee
Septembre 2003
1 Arbres binaires de recherche α-´equilibr´es
Cet exercice traite des arbres binaires α-´equilibr´es, o`u αest une constante de l’intervalle [1/2,1[.
Un arbre binaire Test α-´equilibr´e si et seulement si il v´erifie les conditions suivantes :
–taille (G)≤α∗taille (T) et taille (D)≤α∗taille (T)
–Get Dsont α-´equilibr´es,
o`u Get Dsont les sous-arbres gauche et droit de Tet o`u taille est la fonction qui renvoie le
nombre d’´el´ements d’un arbre.
NB. Pour d´ecrire les algorithmes demand´es dans l’exercice, on utilisera de pr´ef´erence les
primitives sur les arbres binaires (dont la liste a ´et´e fournie en cours) auxquelles on adjoindra
la primitive :
taille :ABR →IN
taille(T) renvoie le nombre d’´el´ements de l’arbre T.
1. Donner un exemple d’arbre binaire 1
2-´equilibr´e de taille 19 et un exemple d’arbre binaire
2
3-´equilibr´e (mais non 1
2-´equilibr´e) de taille 19.
2. Arbres binaires 1
2-´equilibr´es
(a) Un arbre binaire Test dit bien ´equilibr´e si et seulement si ses sous-arbres gauche et
droit sont eux-mˆemes bien ´equilibr´es et si leurs tailles diff`erent d’au plus 1. Montrer
qu’un arbre binaire est 1
2-´equilibr´e si et seulement si il est bien ´equilibr´e.
(b) Montrer que tout arbre binaire de recherche 1
2-´equilibr´e est un arbre AVL. La r´eciproque
est-elle vraie ? Justifier la r´eponse donn´ee.
3. Arbres binaires de recherche 1
2-´equilibr´es
(a) Donner un algorithme qui transforme un arbre binaire de recherche quelconque en un
tableau ordonn´e. Quelle est la complexit´e de cet algorithme ?
(b) Donner un algorithme qui transforme un tableau ordonn´e en un arbre binaire de
recherche 1
2-´equilibr´e. Quelle est la complexit´e de cet algorithme ?
(c) En d´eduire un algorithme qui transforme un arbre binaire de recherche quelconque en
un arbre binaire de recherche 1
2-´equilibr´e. Quelle est la complexit´e de cet algorithme
(en temps et en place) ?
4. Arbres binaires de recherche α-´equilibr´es
(a) Soit Tun arbre binaire α-´equilibr´e de hauteur het de taille n. Montrer que :
n≥(1
α)h.
(b) En d´eduire la complexit´e d’une recherche dans un arbre binaire de recherche
α-´equilibr´e de taille n.
1