Je réalise que la meilleure pratique est d'utiliser le plus grand nombre premier (plus petit que la taille du tableau) dans la fonction modulo de la deuxième fonction de hachage est la meilleure pratique.
Mais ma question concerne l'utilisation de nombres qui ne sont pas des nombres premiers. Je ne suis pas intéressé par un pseudo-code, juste l'idée derrière le concept.
Disons que j'ai un tableau m=20, et que je dois choisir entre 6,9,12 et 15 comme les valeurs qui seront entrées dans la deuxième fonction de hachage. Lequel d'entre eux me donnera la meilleure 'répartition' ?
Ma première idée est d'aller dans la même direction que le choix d'un nombre premier, légèrement modifié, ce qui signifie l'utilisation du plus grand nombre ayant le minimum de permutations :
6 -> 2,3
9 -> 3,3 = 3
12 -> 2,3,4,6
15 -> 3,5
Je peux d'emblée éliminer 6 (un nombre plus grand avec le même nombre de permutations existe) et 12 (trop de permutations).
Maintenant la question se pose, devrais-je utiliser 9 - a le moins de permutations, ou devrais-je choisir 15 - bien qu'il ait plus de permutations, il est beaucoup plus grand que 9 et beaucoup plus proche de la taille du tableau (m=20).
Suis-je correct en utilisant cette approche ? ou existe-t-il une meilleure façon de choisir un nombre, étant donné que je ne peux choisir que parmi les nombres indiqués ci-dessus ?