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
2equilibr´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 eciproque
est-elle vraie ? Justifier la r´eponse donn´ee.
3. Arbres binaires de recherche 1
2equilibr´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
2 Calcul d’enveloppe convexe
L’enveloppe convexe d’un ensemble Sest not´ee EC(S). Soit Sun ensemble d’au moins quatre
points. On suppose que Sposs`ede :
un seul point Ad’abscisse minimale xmin
un seul point Bd’ordonn´ee minimale ymin
un seul point Cd’abscisse maximale xmax
un seul point Dd’ordonn´ee maximale ymax.
Soit R1(xmin, ymin), R2(xmax , ymin), R3(xmax , ymax ), R4(xmin, ymax ) les quatre coins du rec-
tangle englobant l’ensemble S. Soit
S0
1l’ensemble des points de Squi sont strictement `a l’int´erieur du triangle AR1B,
S0
2l’ensemble des points de Squi sont strictement `a l’int´erieur du triangle BR2C,
S0
3l’ensemble des points de Squi sont strictement `a l’int´erieur du triangle CR3D,
S0
4l’ensemble des points de Squi sont strictement `a l’int´erieur du triangle DR4A.
Soit S1=S0
1∪ {A, B}, soit S2=S0
2∪ {B, C}, soit S3=S0
3∪ {C, D}, et soit S4=S0
4∪ {D, A}.
1. Donner un algorithme de calcul de EC(S1).
2. Montrer que EC(S) est l’union de EC(S1), EC(S2), EC(S3) et EC(S4).
3. En d´eduire une m´ethode de calcul de EC(S) et ´ecrire l’algorithme correspondant.
4. eterminer la complexit´e de cet algorithme.
On pourra utiliser l’in´egalit´e n1log n1+n2log n2(n1+n2) log(n1+n2) sans la d´emontrer.
5. Question facultative [bonus] ´
Etudier le probl`eme dans le cas g´en´eral (sans faire d’hy-
poth`ese sur le nombre de points extr´emaux).
2
1 / 2 100%