私が理解している限りでは、ハッシュマップは O(1) 時間に近い時間で要素を見つけることができるため、標準マップよりも望ましいです。これは、ハッシュまたはキーを配列ルックアップとして使用することによって行われます。次に、衝突を解決し、値を取り出します。
これはルックアップにはうまく機能しますが、ハッシュ ルックアップを行う配列空間がまばらに入力されている場合、ハッシュマップ/順序付けされていないマップは、配列空間を徹底的に調べることなく、ハッシュマップ内のすべての要素をどのように効率的に反復するのでしょうか?
編集: まだブースト、SGI、および C++11 ハッシュマップ/順序付けられていないマップには反復子がありますが、どのように機能しますか?