map与unordered_map,multimap

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/N1neDing/article/details/83040686

map

multimap

unordered_map

unordered_multimap

map底层实现为红黑树,时间复杂度为O(logn),因为其存储时为有序状态,查找时从平衡二叉树上搜索

unordered_map实现为哈希表,时间复杂度为O(1),因为其每次根据哈希函数定位到所在的位置,查找值,为常数级别,但空间开销较大,且存在哈希函数计算时间

multimap允许存储多个相同的键对应的键值对,为红黑树

使用场景:

  • 如果要求有序,使用map
  • 如果要求时间复杂度最低且未要求有序和空间,使用unordered_map
  • 如果要求存储键值相同的键值对,使用multimap

猜你喜欢

转载自blog.csdn.net/N1neDing/article/details/83040686