C++ - STL中map和unordered_map区别
2021-06-08 00:06
标签:优点 https clu 提高 使用场景 节点 速度 csdn 自动 map: unordered_map: map:内部是红黑树,自动排序,所以默认有序。 unordered_map:内部是哈希表,所以默认无序。 map:因为基于红黑树,所以对于map进行的增删改查操作都相当于是对红黑树进行的操作,时间复杂度为 \(O(logn)\) 。 unordered_map:因为基于一个哈希表(通过把关键码值映射到Hash表中一个位置来访问记录,可处理海量数据),所以查找的时间复杂度为 \(O(1)\) 。 优点:有序、大部分操作的时间效率高。 缺点: 空间占用率高(因为内部实现了红黑树,虽然提高了运行效率,但因为每个节点都需要额外保存父节点、孩子节点、红/黑性质,使得每一个节点都占用大量的空间)。 优点:查找速度快。 缺点:建立哈希表较耗时间。 map:基于有序性进行操作,用map。 unordered_map:基于查找相关问题,用unordered_map。 这俩操作使用都差不多,自行搜索。 https://blog.csdn.net/BillCYJ/article/details/78985895 C++ - STL中map和unordered_map区别 标签:优点 https clu 提高 使用场景 节点 速度 csdn 自动 原文地址:https://www.cnblogs.com/OFSHK/p/14542522.html头文件
#include
#include
底层实现
时间复杂度
map优缺点
unordered_map优缺点
使用场景
操作
参考博客
文章标题:C++ - STL中map和unordered_map区别
文章链接:http://soscw.com/index.php/essay/91977.html