Comment fonctionne ma table de hachage codée entièrement à la main

Comment fonctionne ma table de hachage codée entièrement à la main

Deep dive technique

Comment fonctionne ma table de hachage codée entièrement à la main

Dans le projet médiathèque, la table de hachage retrouve rapidement un document à partir de son identifiant, sans parcourir tout le catalogue. Aucune ligne de std::unordered_map : tout est fait maison.

Un tableau de listes chaînées

Chaque case du tableau correspond à un indice calculé par une fonction de hachage. Une mauvaise fonction concentre trop d'éléments dans les mêmes cases et fait perdre tout l'intérêt de la structure.

Gérer les collisions sans bibliothèque

Quand deux identifiants produisent le même indice, la collision est gérée par chaînage : les éléments sont liés dans une petite liste au sein de la case.

Des questions qu'on ne se pose jamais autrement

Quelle taille de tableau au départ ? À quel taux redimensionner ? Comment redistribuer les éléments après un redimensionnement ? Des détails invisibles avec une bibliothèque standard, essentiels pour comprendre l'efficacité réelle de la structure.

Le projet médiathèque en C++ (zéro bibliothèque, structures faites main, interface Qt) avance chaque semaine sur ma chaîne.

Voir la dernière vidéo →
Abonne-toi pour suivre la suite du projet.

Enregistrer un commentaire

Donne ton avis

Plus récente Plus ancienne