Salut,

j'ai recherché sur les différents forums pour trouver une fonction de hachage qui me conviennent et je n'en ai pas trouvée !

Mon problème est que j'ai un dictionnaire de 211 000 mots et que lorsque je rempli ma table de hachage à l'aide de ma fonction, j'ai un taux de remplissage de 63% seulement alors qu'il faudrait 80% !

J'ai mis en place la fonction de Horner:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
k=0;
for(i=0; i<strlen(mot); i++)
    k = (k*31 + mot[i])%NB_CASES
en plus, si je ne me trompe pas, c'est également la fonction utilisée en java.



je sais qu'il existe des livres qui traitent des problèmes de hachage tels que Horowitz ou encore Froidevaux, mais j'ai pas trop envi de les acheté juste pour çà !

Alors si quelqu'un à une idée, elle sera la bien venue.

PS: les collisions sont gérées par une liste chaînée (çà fait donc baisser le taux)

REPS: NB_LISTES est fixée à 211 000 (le nombre de mots)
l'idéal est d'avoir également 1 à 3 mots par cases