【发布时间】:2021-12-09 13:48:34
【问题描述】:
C++ 库中的内置映射和集合(包括 unordered_map 和 multimap)要求 find 函数(用于查找特定元素)使用迭代器来遍历元素。 C++ 参考站点声称使用这些数据结构查找元素平均需要恒定时间,就像常规哈希表一样。但是迭代器在找到元素之前是否必须遍历整个列表,平均花费 O(n) 时间?
【问题讨论】:
-
无序映射是一个哈希表,查找桶是恒定的时间(不考虑哈希键所需的时间)。碰撞通常通过一个简单的列表来处理。
-
@Chad 我知道无序映射是一个哈希表,查找存储桶通常是在恒定时间内完成的。但是你怎么看?你会使用查找功能吗?
标签: performance hashmap hashtable unordered-map multimap