std::unordered_map
大量のデータを保存するためにfromgnu+50xを使用しています。使用するスペースの合計を制限できるため、多数の要素にスペースを事前に割り当てたいと思います。
私がしたいのは電話です:
std::unordered_map m;
m.resize(pow(2,x));
ここで、xは既知です。
std::unordered_map
これをサポートしていません。std::unordered_map
最終的には標準の一部になるので、可能であれば使用したいと思います。
その他の制約:
マップの信頼できるO(1)アクセスと変更が必要です。必要なハッシュ関数と比較関数はすでに非標準であり、いくらか高価です。O(log n)ミューテーション(と同様std::map
)はコストがかかりすぎます。
->高価なハッシュと比較も、償却ベースの成長を非常に高価にします。追加の挿入ごとに、これらの関数からのO(n)演算が必要になります。これにより、指数関数的なストレージ要件にはO(n)の増加が必要になるため、アルゴリズムの実行時間に2次項が追加されます。