c++中的map与unordered_map

c++中的map与unordered_map

实现原理

map:map的内部元素是有序的,因为其内部实现了红黑树,具有自动排序功能。红黑树的每一个节点都代表着map的一个元素。因此对map进行操作相当于对红黑树进行操作,操作效率取决于红黑树的效率。
unordered_map:其内部是一个哈希表,虽然无序但查找效率高,为O(1)

差异

map最大的优点是有序,对于有顺序要求的问题,map的效率会更高。
相反unordered_map的最大优点就是查找速度快,但内存占用较大(空间换时间),对于需要频繁查找的问题就比较合适。

猜你喜欢

转载自blog.csdn.net/qq_43477024/article/details/112000368