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