- map && unordered_map
- 底层实现
- map
- unordered_map
map中元素是一些key-value 对,关键字起索引作用,值表示和索引相关的数据。
底层实现- map底层实现是 基于红黑树实现的,因此map内部元素排列是有序的。
- unordered_map底层实现是 基于哈希表实现的,因此其元素的排列顺序是杂乱无序的
优点:
有序性,这是map结构的最大优点,其元素的有序性在很多应用中都会简化很多的操作。
map的查找、删除、增加等一系列操作时间复杂度稳定,都为 O ( l o g n ) O(logn) O(logn)
缺点:
查找、删除、增加等操作平均时间复杂度较慢,与n相关。
unordered_map优点:
查找、删除、增加的操作较快,时间复杂度为常数级 O ( 1 ) O(1) O(1)
缺点:
因为unordered_map内部基于哈希表,以 (key-value)对 的形式存储,因此空间占用率较高
unordered_map的查找、删除、添加的时间不稳定,平均为 O ( 1 ) O(1) O(1),取决于哈希函数。极端情况下可能为 O ( n ) O(n) O(n)



