File tree Expand file tree Collapse file tree 1 file changed +4
-4
lines changed
reference/unordered_map/unordered_map Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change @@ -41,15 +41,15 @@ void clear() noexcept;
4141 1 . 全ての要素を走査して各要素を破棄
4242 2 . 全てのバケットを走査して各バケットを初期化
4343
44- という手順を取るため、実行時間は概ね [ ` size ` ] ( size .md) ` () ` + [ ` bucket_count ` ] ( bucket_count .md) ` () ` に比例する傾向がある。
45- 規格がコンテナに対して定義する計算量は「コンテナに格納している要素に対する操作の数の計算量」であるためバケットの走査を考慮せず「コンテナの全要素を削除する」として、全要素数Nに対してO(N)に規定されるが、実行時間に影響する時間計算量としてはバケット数Cに対して線形となる 。
44+ という手順を取るため、実際の実行時間はバケット数 [ ` bucket_count ` ] ( bucket_count .md) ` () ` について線形となる ( ` size() <= bucket_count() * ` [ ` max_load_factor() ` ] ( max_load_factor .md) = O( ` bucket_count ()` ) であることに注意)。
45+ 規格の計算量の要件は要素数 ` size() ` に線形となっているが、 規格がコンテナに対して定義する計算量は「コンテナに格納している要素に対する操作の数の計算量」であるためバケットの走査などを考慮していない 。
4646
4747
4848## 備考
49- - ` clear() ` は バケット数 ([ ` bucket_count ` ] ( bucket_count.md ) ` () ` )を縮小することを規格上は要求していない 。
49+ - ` clear() ` がバケット数 ([ ` bucket_count ` ] ( bucket_count.md ) ` () ` )を縮小することを規格は要求していない 。
5050実装によっては ` clear() ` 後もバケット配列が維持され、動的メモリが残る場合がある。
5151- メモリを確実に解放したいときには以下のように操作を行う
52- ``` CPP
52+ ``` cpp
5353std::unordered_map<std::string, int > tmp;
5454s.swap(tmp);
5555```
You can’t perform that action at this time.
0 commit comments