5. ´
Ecrire un algorithme qui r´ealise la fusion de deux AVL xet yet d’une cl´e cen supposant que toutes les cl´es
de xsont strictement inf´erieures `a cet que toutes les cl´es de ysont strictement sup´erieures `a c. Cet algorithme
devra fonctionner en temps O(1 + |h(x)−h(y)|). Justifier.
6. ´
Ecrire un algorithme qui r´ealise la scission d’un AVL xen deux AVL yet zcontenant respectivement les cl´es
de xinf´erieures ou ´egales `a cpour yet strictement sup´erieures `a cpour z. Cet algorithme devra fonctionner en
temps O(1 + |h(x)|). Justifier.
Exercice 4(Arbres a-b). Les arbres a-b sont des arbres dont toutes les feuilles ont mˆeme profondeur, et le nombre de
fils d’un noeud varie entre aet b. On fixe a≥2 et b≥2a−1. Un arbre a−bv´erifie les conditions suivantes :
1. Les feuilles ont toutes la mˆeme profondeur,
2. la racine a au moins 2 et au plus bfils,
3. les autres noeuds ont au moins aet au plus bfils.
Pour un sommet x, on note par d(x) le nombre de fils de x. On note par Ai(x) le i-`eme sous-arbre de x. Chaque
sommet xcontient d(x)balises, c-`a-d des cl´es k1< . . . < kd(x)−1, avec la propri´et´e suivante : les cl´es des feuilles de
Ai(x) sont inf´erieures ou ´egales `a kipour i= 1 . . . d(x)−1 ; et les cl´es des feuilles de Ai(x) sont strictement sup´erieures
`a ki−1pour i= 2 . . . d(x). On notera ki(x) la i-`eme balise du sommet x.
1. Donner une borne sur la hauteur des arbres a−b. Donner la complexit´e de la recherche d’un ´el´ement.
2. On consid`ere l’insertion des ´el´ements dans ces arbres. Montrer que une insertion peut violer les propri´et´es des
arbres a−b.
3. Donner une proc´edure en O(log(n)) qui r´etablit ces propri´et´es apr`es une insertion.
4. D´efinir la suppression d’un ´el´ement en temps O(log(n)).
5. On se restreint aux arbres 2 −4. On dit qu’un arbre est partiellement ´equilibr´e si au plus un sommet sv´erifie
d(s) = 1 ou d(s) = 5, alors que pour les autres sommets s0, on a d(s0)∈ {2,3,4}.
On pose e(s) = min(d(s)−2,4−d(s)), l’´equilibre du sommet s. On obtient :
e(s) =
−1 si d(s) = 1 ou d(s) = 5
0 si d(s) = 2 ou d(s) = 4
1 sid(s)=3.
L’´equilibre d’un arbre Aest alors la somme des ´equilibres de chaque sommet.
En utilisant ces d´efinitions, montrer que le coˆut amorti du r´e´equilibrage pour une suite d’insertion et de sup-
pression est constant.
Exercice 3 Soit Ul’ensemble des n-uplets dont les valeurs sont tir´ees de Zpet soit B=Zpavec ppremier. D´efinir
la fonction de hachage hb:U7→ Bpour b∈Zpsur un n-uplet en entr´ee (a1, a1, . . . , an−1) dans U, sous la forme
hb((a0, a1, . . . , an−1)) =
n−1
X
j=0
ajbj,
et soit H={hb|b∈Zp}. Montrer que Hest ((n−1)/p)-universelle.
Exercice 4 On dit qu’une famille Hde fonctions de hachage reliant un ensemble fini U`a un ensemble fini Best
-universelle si, pour toute paire d’´el´ements distincts ket lde U,
Pr(h(k) = h(l)) ≤,
o`u la probabilit´e est d´efini par le tirage al´eatoire uniform de la fonction de hachage hdans la fammille H. Montrer
qu’une telle famille doit v´erifier :
≥1
|B|−1
|U|.
2