std::unordered_map
обычно медленный для небольшого числа элементов из-за хэш-функции. Это занимает фиксированное (-ише) количество времени, но, тем не менее, может занять значительное количество времени.
std::map
, с другой стороны, проще, чем std::unordered_map
. Время, необходимое для доступа к элементу, зависит от количества элементов, но все меньше и меньше с ростом количества элементов. И коэффициент big-oh c
для std :: map обычно тоже очень мал по сравнению с std::unordered_map
.
Как правило, предпочитайте использовать std::map
вместо std::unordered_map
, если только у вас нет особых причин использовать std::unordered_map
. Это особенно актуально, если у вас нет большого количества элементов.