• # Collisions dans une table de hachage

    Posté par . En réponse à la dépêche Le colonel Moutarde, sur la table (de hachage), avec un livre de maths. Évalué à 10.

    Il y a une erreur, ou tout du moins une maladresse d'expression, dans le passage intitulé "What's in a name ?". Je ne parle pas de l'espace à la française avant le point d'interrogation, mais bien de la description technique.

    Si h(k1) = 42 et h(k2) = 42, alors 42 → v1 → v2 ne suffit pas à construire une table de hachage. Comment saurait-on quelle valeur correspond à la clé k1 et quelle valeur à la clé k2 ?
    Il faut donc stocker, non pas une liste chaînée des valeurs, mais une liste chaînée des couples (clé, valeur) : 42 → [k1,v1] → [k2,v2].

    Au final, la table de hachage ressemble donc à :

    41 → [« bar », « foo »]
    42 → [« clé 1 », « A noir »] → [« clé 2 », « E blanc »] → ...