1

txtファイルから入力を取得するハッシュテーブルで最大1000000個の要素を検索/挿入する必要があり、効率的に行う必要があります。コードを書きましたが、入力が大きくなると数秒かかります。

私の構造は、ノードのリストのベクトルです。ハッシュ キーは長さ 5 の文字列です。ハッシュ関数は djb です (アイテムは一様に分散しているようです)。

それが私が使用する唯一の機能です:

void searchAndInsert (const string& key)
{
unsigned int i = Hash (key) % size;

for (list<Node>::iterator it = v[i].begin(); it != v[i].end (); it++)
    if (it->getNome () == key)
        return;

    v[i].push_back (Node (key));
    ++elements;
}

どうすれば改善できますか?

ありがとう、そして私の悪い英語でごめんなさい!:D

4

0 に答える 0