Structures de données et algorithmes
Quelle description d'une collision dans une table de hachage est correcte ?
- ALe fait de pouvoir retrouver la clé d'origine à partir de sa valeur de hachage
- BLe fait que des clés différentes donnent la même valeur de hachage (la même position de stockage)
- CLe fait qu'une même clé donne une valeur de hachage différente à chaque exécution du programme
Afficher la réponse et l'explication
Réponse : B. Le fait que des clés différentes donnent la même valeur de hachage (la même position de stockage)
Une table de hachage calcule une position de stockage à partir de la clé au moyen d'une fonction de hachage, ce qui permet la recherche, l'insertion et la suppression en O(1) en moyenne. Comme il existe beaucoup plus de clés possibles que d'emplacements dans la table, il est impossible d'éviter que des clés différentes tombent sur la même position (collision). On traite donc les collisions par des méthodes comme le chaînage, qui relie en liste les éléments d'une même position, ou l'adressage ouvert, qui cherche une autre position libre. Une même clé doit toujours donner la même valeur de hachage, sinon la recherche échouerait ; quant à la possibilité de retrouver la clé à partir de la valeur de hachage, c'est une propriété qui compte pour l'usage cryptographique, pas une collision.
Continuer : 9 autres questions sur Structures de données et algorithmes