c++ map和unordered_map
时间: 2023-04-29 22:06:06 浏览: 117
C++11 unordered_map与map(插入,遍历,Find)效率对比。
C++中map和unordered_map都是STL中的容器,用于存储键值对。但是它们有一些区别。
map是基于红黑树实现的,因此它有一些额外的性能保证,例如查找、插入和删除的时间复杂度都是log(n)。但是,由于红黑树的结构,map相对于unordered_map会占用更多的内存空间。
unordered_map是基于哈希表实现的,因此查找、插入和删除的时间复杂度是常数级别的,即O(1)。但是,由于哈希函数的不同,unordered_map的性能不如map稳定,尤其在负载因子较高时,它的性能会下降。
因此,当需要高性能的容器时,可以选择unordered_map;当需要稳定性能且有空间限制时,可以选择map。
阅读全文