2 votes

Fonction de hachage pour un ensemble spécifique d'entiers

J'ai un ensemble spécifique de nombres entiers qui sont : 2, 10, 13, 15, 23, 34, 43, 58, 100, 123, 199, 200 et 348. La tâche consiste à créer une fonction de hachage d'une ligne qui pourrait au moins mettre en correspondance 9 valeurs dans les index 0 à 12.

Jusqu'à présent, les fonctions de hachage que j'ai réalisées sont :

  1. hash = value%13
  2. hash = (value+array[indexOfValue])%13
  3. hash = array[indexOfValue]

Le numéro 3 est quelque chose qui pourrait me faire gronder, mais il me semble acceptable, alors je pourrais aussi bien le donner comme réponse. Oh et je ne suis pas censé utiliser une méthode de résolution des collisions.

EDIT : Alors, des suggestions sur la fonction de hachage que je devrais faire ?

EDIT : J'ai trouvé une fonction qui mettrait en correspondance toutes les valeurs de 0 à 12 et c'est : ((((x*7)+x)%7)+x)%13

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X