Étudiante
ah-fsr-v2.0
Objectifs
Cours Structures de données
Tables de Hachage (Hash Tables)
Structures de données (2010-2011) 1
Etudier une nouvelle structure de données donné pour accéder rapidement à l’information accé
Notion de table Tables à adressage direct Tables de hachage (tables à adressage dispersé) dispersé
Fonctions de hachage Résolution des collisions
Adressage ouvert Adressage fermé fermé
Structures de données (2010-2011)
2
ah-fsr-v2.0
ah-fsr-v2.0
Introduction
On s’intéresse à une nouvelle structure de données, les s’inté donné tables de hachage : la complexité des opérations de recherche, d’insertion et de complexité opé d’ suppression d’un élément, en moyenne, peut se faire en un temps d’ constant
Notion de table
Une table (ou dictionnaire) est un ensemble ‘dynamique’ d’éléments : dynamique’ ’él
A chaque élément est associée une clé associé clé
Un élément d’une table (ou entrée) est un couple (clé, informations) ou d’ entré (clé (clé, attribut) ou (clé, valeur) (clé (clé
Clé : entier ou chaîne de caractères Clé chaî caractè Informations : données satellites spécifiques de l’application donné spé l’
Dans une table de hachage, les éléments sont insérés non insé pas l’un à la suite de l’autre, mais de façon dispersée l’ l’ faç dispersé Pour rechercher un élément, les tables de hachage se basent sur un calcul effectué par une fonction de hachage effectué
Les arbres, par exemple, se basent sur la comparaison d’éléments d’él
But d’une table : d’
Pouvoir accéder rapidement à une entrée, en donnant sa clé accé entré clé
Pour les tables :
Pas besoin d’une relation d’ordre pour comparer les clés d’ d’ clé Pouvoir décider si deux clés sont égales dé clé
Structures de données (2010-2011)
3
Structures de données (2010-2011)
4
ah-fsr-v2.0
ah-fsr-v2.0
Exemples de tables
Table d'identificateurs dans un compilateur : Annuaire téléphonique : té
Ensemble de couples (clé : nom ;