Qu'est-ce qu'une bonne fonction de hachage? J'ai vu beaucoup de fonctions et d'applications de hachage dans mes cours sur les structures de données à l'université, mais j'ai surtout compris qu'il est assez difficile de créer une bonne fonction de hachage. En règle générale, pour éviter les collisions, mon professeur a dit que:
function Hash(key)
return key mod PrimeNumber
end
(mod est l'opérateur% en C et langages similaires)
le nombre premier étant la taille de la table de hachage. Je comprends que c'est une fonction plutôt bonne pour éviter les collisions et une fonction rapide, mais comment puis-je en faire une meilleure? Existe-t-il de meilleures fonctions de hachage pour les touches de chaîne par rapport aux touches numériques?