Припустимо, я хотів зіставити дані із рядком як ключем. Який контейнер я повинен був вибрати, map
або unordered_map
? unordered_map
займає більше пам’яті, тож припустимо, пам’ять не є проблемою, а проблема полягає в швидкості.
unordered_map
як правило, повинні давати середню складність O (1) з найгіршим випадком O (n). У яких випадках воно потрапляло б до O (n)? Коли час map
отримує більше часу, ніж unordered_map
? Чи трапляється це, коли n мало?
Припускаючи, що я б використовував STL unordered_map
із типовим хасером Vs. карта. рядок - це ключ.
Якщо я збираюся робити ітерацію над елементами, а не отримувати доступ до окремого елемента щоразу, чи слід віддавати перевагу map
?