File tree Expand file tree Collapse file tree 4 files changed +28
-4
lines changed Expand file tree Collapse file tree 4 files changed +28
-4
lines changed Original file line number Diff line number Diff line change @@ -20,7 +20,13 @@ namespace std {
2020## 概要
2121`std::flat_map`は、重複しない要素を格納する連想コンテナの一種であり、キーとそれに対応する値を格納する。
2222
23- `std::flat_map`は、ノードベースで実装される[`std::map`](/reference/map/map.md)、ハッシュテーブルで実装される[`std::unordered_map`](/reference/unordered_map/unordered_map.md)とは異なり、ソート済み配列と二分探索の組み合わせで実装される。これはほかの実装と比較して、メモリ使用量と列挙速度において優位であり、一方で挿入速度と検索速度はほかの実装に劣る。
23+ `std::flat_map`は、ノードベースで実装される[`std::map`](/reference/map/map.md)、ハッシュテーブルで実装される[`std::unordered_map`](/reference/unordered_map/unordered_map.md)とは異なり、ソート済み配列と二分探索の組み合わせで実装される。
24+
25+ ほかの連想コンテナとの比較としては、
26+
27+ - メモリ使用量と列挙速度において優位
28+ - 挿入速度と削除速度はほかの実装に劣る
29+ - 検索速度は、[`std::map`](/reference/map/map.md)より高速であることが期待できるが (計算量としては同じ対数時間だが、メモリアクセスが高速)、サイズが大きいときは[`std::unordered_map`](/reference/unordered_map/unordered_map.md)に劣る
2430
2531また、このクラスは分類としては[`std::queue`](/reference/queue/queue.md)や[`std::stack`](/reference/stack/stack.md)と同様のコンテナアダプタに分類され、キーの配列と値の配列の2つを内部で持ち、それを[`std::ranges::zip_view`](/reference/ranges/zip_view.md)で綴じあわせて扱う実装となっている。
2632
Original file line number Diff line number Diff line change @@ -20,7 +20,13 @@ namespace std {
2020## 概要
2121`flat_multimap` は同一キーの要素を複数格納できる連想コンテナの一種であり、キーとそれに対応する値を格納する。
2222
23- `std::flat_multimap`は、ノードベースで実装される[`std::multimap`](/reference/map/multimap.md)、ハッシュテーブルで実装される[`std::unordered_multimap`](/reference/unordered_map/unordered_multimap.md)とは異なり、ソート済み配列と二分探索の組み合わせで実装される。これはほかの実装と比較して、メモリ使用量と列挙速度において優位であり、一方で挿入速度と検索速度はほかの実装に劣る。
23+ `std::flat_multimap`は、ノードベースで実装される[`std::multimap`](/reference/map/multimap.md)、ハッシュテーブルで実装される[`std::unordered_multimap`](/reference/unordered_map/unordered_multimap.md)とは異なり、ソート済み配列と二分探索の組み合わせで実装される。
24+
25+ ほかの連想コンテナとの比較としては、
26+
27+ - メモリ使用量と列挙速度において優位
28+ - 挿入速度と削除速度はほかの実装に劣る
29+ - 検索速度は、[`std::multimap`](/reference/map/multimap.md)より高速であることが期待できるが (計算量としては同じ対数時間だが、メモリアクセスが高速)、サイズが大きいときは[`std::unordered_multimap`](/reference/unordered_map/unordered_multimap.md)に劣る
2430
2531また、このクラスは分類としては[`std::queue`](/reference/queue/queue.md)や[`std::stack`](/reference/stack/stack.md)と同様のコンテナアダプタに分類され、キーの配列と値の配列の2つを内部で持ち、それを[`std::ranges::zip_view`](/reference/ranges/zip_view.md)で綴じあわせて扱う実装となっている。
2632
Original file line number Diff line number Diff line change @@ -18,7 +18,13 @@ namespace std {
1818## 概要
1919`std::flat_multiset`は、重複する要素を許可する連想コンテナの一種であり、要素自身がキーとなる、集合を表すクラスである。
2020
21- `std::flat_multiset`は、ノードベースで実装される[`std::multiset`](/reference/set/multiset.md)、ハッシュテーブルで実装される[`std::unordered_multiset`](/reference/unordered_set/unordered_multiset.md)とは異なり、ソート済み配列と二分探索の組み合わせで実装される。これはほかの実装と比較して、メモリ使用量と列挙速度において優位であり、一方で挿入速度と検索速度はほかの実装に劣る。
21+ `std::flat_multiset`は、ノードベースで実装される[`std::multiset`](/reference/set/multiset.md)、ハッシュテーブルで実装される[`std::unordered_multiset`](/reference/unordered_set/unordered_multiset.md)とは異なり、ソート済み配列と二分探索の組み合わせで実装される。
22+
23+ ほかの連想コンテナとの比較としては、
24+
25+ - メモリ使用量と列挙速度において優位
26+ - 挿入速度と削除速度はほかの実装に劣る
27+ - 検索速度は、[`std::multiset`](/reference/set/multiset.md)より高速であることが期待できるが (計算量としては同じ対数時間だが、メモリアクセスが高速)、サイズが大きいときは[`std::unordered_multiset`](/reference/unordered_set/unordered_multiset.md)に劣る
2228
2329また、このクラスは分類としては[`std::queue`](/reference/queue/queue.md)や[`std::stack`](/reference/stack/stack.md)と同様のコンテナアダプタに分類され、キーの配列をラップして扱う実装となっている。
2430
Original file line number Diff line number Diff line change @@ -18,7 +18,13 @@ namespace std {
1818## 概要
1919`std::flat_set`は、重複しない要素を格納する連想コンテナの一種であり、要素自身がキーとなる、集合を表すクラスである。
2020
21- `std::flat_set`は、ノードベースで実装される[`std::set`](/reference/set/set.md)、ハッシュテーブルで実装される[`std::unordered_set`](/reference/unordered_set/unordered_set.md)とは異なり、ソート済み配列と二分探索の組み合わせで実装される。これはほかの実装と比較して、メモリ使用量と列挙速度において優位であり、一方で挿入速度と検索速度はほかの実装に劣る。
21+ `std::flat_set`は、ノードベースで実装される[`std::set`](/reference/set/set.md)、ハッシュテーブルで実装される[`std::unordered_set`](/reference/unordered_set/unordered_set.md)とは異なり、ソート済み配列と二分探索の組み合わせで実装される。
22+
23+ ほかの連想コンテナとの比較としては、
24+
25+ - メモリ使用量と列挙速度において優位
26+ - 挿入速度と削除速度はほかの実装に劣る
27+ - 検索速度は、[`std::set`](/reference/set/set.md)より高速であることが期待できるが (計算量としては同じ対数時間だが、メモリアクセスが高速)、サイズが大きいときは[`std::unordered_set`](/reference/unordered_set/unordered_set.md)に劣る
2228
2329また、このクラスは分類としては[`std::queue`](/reference/queue/queue.md)や[`std::stack`](/reference/stack/stack.md)と同様のコンテナアダプタに分類され、キーの配列をラップして扱う実装となっている。
2430
You can’t perform that action at this time.
0 commit comments