Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas com Hash em C


tardioli

Pergunta

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!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...