Предположим, я хотел сопоставить данные со строкой в качестве ключа. Какой контейнер выбрать, mapили unordered_map? unordered_mapзанимает больше памяти, поэтому предположим, что память не является проблемой, а проблема заключается в скорости.
unordered_mapобычно должен давать среднюю сложность O (1) с наихудшим случаем O (n). В каких случаях он достигнет O (n)? Когда время mapстановится эффективнее, чем unordered_map? Бывает, когда n мало?
Предполагая, что я бы использовал STL unordered_mapсо стандартным haser Vs. карта. строка - это ключ.
Если я собираюсь перебирать элементы вместо того, чтобы каждый раз обращаться к отдельному элементу, что я должен предпочесть map?