Algorithmique - TD 2
26 Novembre 2013
1 Arbres AVL
1. ´
Ecrire un algorithme qui r´ealise la concat´enation de deux arbres AVL A1et A2et d’une
cl´e c, en supposant que toutes les cl´es de A1sont strictement inf´erieures `a c et que toutes
les cl´es de A2sont strictement sup´erieures `a c. Cet algorithme devra fonctionner en temps
O(1 + |h(A1)h(A2)|).
2. Ecrire un algorithme qui r´ealise la scission d’un arbre AVL Aen deux arbres AVL A1et
A2contenant respectivement les cl´es de Ainf´erieures ou ´egales `a c pour A1, et strictement
sup´erieures `a c pour A2. Cet algorithme devra fonctionner en temps O(|h(A)|).
2 Arbres 1-2 fraternels.
Un arbre 1-2 fraternel (“1-2 brother tree”) qui repr´esente un ensemble de cl´es, est un arbre
binaire qui satisfait les conditions suivantes :
chaque sommet `a 1 fils a un fr`ere `a 2 fils ;
toutes les feuilles ont la mˆeme profondeur ;
dans chaque sommet x`a deux fils est stock´ee une cl´e ctelle que
cl´es du sous-arbre gauche de x < c < cl´es du sous-arbre droit de x
aucune cl´e est stocee ni dans les sommets `a un fils, ni dans les feuilles.
On d´efinit l’op´eration de contraction d’un arbre 1-2 fraternel comme suit : chaque sommet `a un
seul fils est supprim´e et remplac´e par son unique fils. Ensuite toutes les feuilles sont supprim´ees.
1. Montrer que la contraction d’un arbre 1-2 fraternel produit un arbre AVL.
On d´efinit l’expansion d’un arbre AVL comme suit. D’abord chaque sous-arbre vide de l’arbre
AVL est remplac´e par une feuille qui ne contient aucune cl´e. Ensuite chaque sommet x`a deux fils
avec ´equilibre +1 ou 1 est modifi´e comme suit : le sous-arbre Ade xle moins profond est remplac´e
par un nouveau sommet (sans cl´e) dont l’unique sous-arbre fils est A.
2. Montrer que l’expansion de chaque arbre AVL est un arbre 1-2 fraternel.
3. Voir :
T.Ottomann, D. Wood, “1-2 brother trees or AVL trees revisited” The Computer
Journal, Vol.23, N.3
pour la description des op´erations d’insertion et suppression en temps logarithmique sur les
arbres 1-2 fraternels.
1
3 Cout amorti des arbres 2-4
Soit sune suite de nop´erations d’insertion et suppression dans un arbre a-b. On d´enote
P(s) : le nombre total de partages effectu´es dans s
E(s) : le nombre total de ´eclatements effectu´es dans s
F(s) : nombre total de fusions effectu´ees dans s
Le coˆut amorti de r´e´equilibrage pour la suite sest d´efini comme P(s)+E(s)+F(s)
n. D´emontrer que
le coˆut amorti de r´equilibrage de toute s´equence d’insertions et suppressions dans un arbre 2-4
initialement vide est born´e par 3/2.
´
Elements de solution Soit sune s´equence d’insertions et suppressions dans un arbre 2-4 ini-
tialement vide. Soit ile nombre d’insertions dans s, et dle nombre de suppressions dans s. On
d´emontre que P(s)det E(s) + F(s)n+ (id1)/2 :
On d´efinit un arbre 2-4 partiellement ´equilibr´e comme un couple (A, x) o`u xest un noeud
interne de A, et Aest un arbre 2-4 sauf sur le noeud x: le nombre de fils de xest 1 d(x)5.
Remarquer que un arbre 2-4 en cours de r´e´equilibrage (apr`es une insertion ou une suppression)
est un arbre partiellement ´equilibr´e.
– L’´equilibre d’un noeud interne yd’un arbre 2-4 partiellement ´equilibr´e est d´efini comme :
e(y) = (0 si d(y) = 2 ou 4
1 si d(y) = 3
1 si d(y) = 1 ou 5
L’´equilibre e(A) d’un arbre 2-4 partiellement ´equilibr´e Aest la somme des ´equilibres de tous
le noeuds internes de A.
1. Montrer que l’´equilibre d’un arbre 2-4 `a mfeuilles est born´e par (m1)/2.
2. Montrer qu’une op´eration d’insertion ou suppression sans r´e´equilibrage dans un arbre 2-4
diminue l’´equilibre de l’arbre d’au plus 1.
3. Montrer que, sur un arbre 2-4 partiellement ´equilibr´e (A, x) o`u xa 5 fils, une op´eration
d’´eclatement de xaugmente l’´equilibre de l’arbre d’au moins 1.
4. Montrer que, sur un arbre 2-4 partiellement ´equilibr´e (A, x) o`u xa 1 fils, une op´eration de
fusion sur x(avec un fr`ere `a deux fils) augmente l’´equilibre de l’arbre d’au moins 1.
5. Montrer que sur un arbre 2-4 partiellement ´equilibr´e (A, x) o`u xa 1 fils, une op´eration de
partage sur x(avec un fr`ere ayant au moins trois fils) ne diminue pas l’´equilibre de l’arbre.
6. Conclure.
4 Arbres 2-3
D´emontrer que le coˆut amorti du r´e´equilibrage dans un arbre 2-3 n’est pas constant.
´
Elements de solution Soit Aun arbre 2-3 de hauteur h, dont tous les nœuds internes ont 3 fils.
Soit c une cl´e strictement plus grande que les cl´es figurant dans A.
1. Montrer que l’insertion de c dans A, suivi de la suppression de c, redonne l’arbre A.
2. Conclure.
2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !