34

std::set/ std::multiset/ std::map/を反復処理する時間の複雑さはどれくらいstd::multimapですか?セット/マップのサイズは直線的だと思いますが、確かではありません。言語規格で指定されていますか?

4

2 に答える 2

61

ドラフトC++11標準N3337では、答えは§24.2.1パラグラフ8にあります。

イテレータのすべてのカテゴリには、特定のカテゴリで一定時間(償却)で実現可能な関数のみが必要です。

nイテレータの各操作は一定時間でなければならないため、要素の反復はである必要がありますO(n)

于 2012-08-02T14:55:45.353 に答える
17

セット/マップのサイズは直線的だと思いますが、確かではありません。

それは正しいです。セットまたはマップ全体を反復処理するのはO(N)

于 2012-08-02T14:41:37.603 に答える