0

私のハッシュ関数は次のとおりです。

unsigned int Game::xorHash(const string &s)
{
    unsigned int h = 0;

    for (unsigned int i = 0; i < s.length(); i++ )
        h ^= s.c_str()[i];

    return h;
}

約 160,000 個の文字列を、1 つあたり約 3 ~ 10 個の文字列を含むテーブルに分散しようとしています。私はかなり迷っています。

上記の実装は非常にトップヘビーです。私の任務では、少なくとも 500 個のバケットが必要ですが、それ以上の数でも十分です。

誰にも提案/方向性はありますか? それは大歓迎です。

4

0 に答える 0