Exercices: Tables de hachage et structures de données

Telechargé par kouakoukoffialbertcamus
Travaux Dirigés: Table de hachage page 1
Exercice I
Considérer la fonction de hachage h(k) = k mod m et une table de hachage avec
m= 13 adresses.
Question 1 – Insérer les clés 26,37,24,30, et 11 dans la table de hachage en uti-
lisant la résolution des collisions par adressage ouvert et sondage linéaire avec la
fonction hi(k)=(h(k) + i)mod m.
Question 2 – Quelle est la probabilité qu’une clé soit placée dans une case vide
précédée de pcases pleines ?
Question 3 – En Rajoutant maintenant les clés 1,2,3,4,5,6,7,8,9,10 dans le ta-
bleau, résoudre la collision par chaînage séparé.
Question 4 – Donner l’algorithme d’une fonction permettant de vérifier si un
élément x est contenu dans la table.
Exercice II
Etant donnés un tableau de hachage de dimension m, et une fonction de ha-
chage uniforme à valeur dans [1..m].
Question 5 – Montrer que si l’on doit traiter néléments, la probabilité pour
que kéléments aient une même valeur de hachage primaire donné est : P(k) =
Ck
n(1
m)n(m1
m)nk
Question 6 – Montrer que si met ntendent vers l’infini, le rapport n/m restant
fixé, cette probabilité tend vers une loi de Poisson de paramètre α=n/m, c’est à
dire : P(k) = eααk
k!.
Exercice III
GHISLAIN PANDRY
Ò
Òã ïï ¿å ¾å ½å æ æ æ å µ
¿ ¾ ½ ¼ » º ¹ ¸ · µ
Òã ïê
á
¿å ¾å æ æ æ å µ
¿ ¾ ½ ¼ » º ¹ ¸ · µ
¿å ¾å ½å ¼å »å ºå ¹å ¸
º ¹ áá¼ ¿ ¸ ááá ¾ » á á á ½
¸
¶ ·
·å ¶å µ
¸
Travaux Dirigés: Table de hachage page 3
Exercice IV
La taille de la table de hachage est notée m. Si pet qsont deux entiers naturels,
p mod q est le reste de la division euclidienne de ppar q. On considère les fonctions
de hachage h1(k) = k mod m et h2(k) = k mod (m1)
Question 7 – Insérer successivement les clés 11, 22, 31, 4, 15, 28, 17, 88 et 59
dans une table de hachage de taille m = 11 gérée en adressage ouvert en utilisant
comme fonction de hachage principale h(k, i)=(h1(k) + i)mod m.
Question 8 – Même question lorsque h(k, i) = (h1(k) + ih2(k)) mod m.
GHISLAIN PANDRY
0
f
f(k) = kmod 16
h(k, i) = (f(k) + i) mod 16
h(k, i) = (f(k) + i
2+i2
2) mod 16
11
11
f1(x) = x
f2(x) = 10x
f3(x) = 2x
f4(x) = 0x= 0
8f4(x/10) + x10
11
f(x) = g(x) mod 10 g
{f1, f2, f3, f4} g
12
h:N×N→ {0, . . . , m 1}
(k, i)(h1(k) + ih2(k)) m
h1h2
12 k = 5 m = 13
h(k, i) = h1(k) + ih2(k) h1(k) =
k 13 h2(k) = 1 + (k 12)
12 h2(k) m
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!