Gestion de Fichiers
Hachage (suite et fin)
2
Plan du cours d’aujourd’hui
Utilisation des buckets
Effacements dans des fichiers hachés
Autres méthodes de résolution de collision: double
hashing, débordement progressif chainé;
enchainement avec une aire de débordement
séparée; “scatter tables”
Patrons d’accès aux enregistrements
3
Stockage de plus d’un enregistrements
par adresse: “bucket
Nous allons maintenant voir une éthode de hachage
qui stocke plus d’un enregistrement par adresse
physique.
Un “bucket” est un bloc d’enregistrements
partageant la même adresse
h(k)
; il est recupéré
dans un même accès au disque.
Lorsqu’un enregistrement va être mis en stockage ou
recupéré du stockage, son adresse de bucket est
déterminée par la fonction de hachage.
Lorsqu’un bucket est remplit, on doit toujours
résoudre le problème de débordement d’enreg.s.
4
Stockage de plus d’un enregistrements
par adresse: “bucket
Exemple pour un bucket de 3 enregistrements
Clé Adresse
Green 30 30 |Green …|Hall | |
Hall 30 31 | | | |
Jenks 32 32 |Jenks … | | |
King 33 33 |King … |Land …|Marx …|
Land 33 34 |Nutt …. | | |
Marx 33
Nutt 33
5
Effet des buckets sur la performance
La formule de calcul de la densité d’enregistrement
d’un fichier change un peu:
PD = r/(b*N)
N
= # d’adresses disponibles
r
=# d’enreg.s dans le fichier
b
= # d’enreg.s par adresse
Bien que PD ne change pas lorsque l’on réduit de
moitié le nombre d’adresses et que l’on double la
taille des buckets, le nombre de débordements
attendu diminue dramatiquement.
1 / 16 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 !