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 →