C++ の次のコード行に使用されるデータ構造は何ですか?
map <char, int> dict;
ハッシュテーブルですか?
std::unordered_map
ハッシュを使用してオブジェクトを格納します。
この規格は、 に特定の実装を課していませんstd::map
。必要な操作とその複雑さのみを示します。これらの要因は、通常、赤黒の Treeである実際の実装の選択につながります。
の要件をリストした章std::map
は 23.2.4 Associative Containers
C++11 にあります。
通常、自己平衡型 BST を使用して実装されます。実装は実際にはコンパイラ固有です。
std::map<char, int> dict;
Achar
はキーで、 anint
は対応する値です。
Red-Black Tree を使用して、キーを順番に整理します。
そのため、昇順で繰り返すことができ、キー オブジェクトには operator< をオーバーロードする必要があります。