Estou fazendo um codigo aqui para medir a eficiencia da minha tabela Hash e implementei a seguinte funcao Hash: int hashCode (char *s, int d)//d é o numero da classe de espalhamento
{
int i;
unsigned int h = 0;
for (i = 0; s[i]; i++)
{
h = (h << d) | (h >> (32-d));
h = h + abs(s[i]);
}
return h % 300000;
} Estou utilizando um dicionario de 300000 palavras em .txt para testar. O problema é que essa funcao causa muitas colisoes. alguém conhece uma funcao melhor que essa para trabalhar com String? Obrigado pela ajuda!