unordered_map初用
2024-08-27 04:53:27
unordered_map,顾名思义,就是无序map,STL内部实现了Hash
所以使用时可以当做STL的Hash表使用,时间复杂度可做到O(1)查询
在C++11前,使用unordered_map要像这样写:
#include <tr1/unordered_map> //在unordered_map之前加上tr1库名
using namespace std::tr1; //加上命名空间
C++11:
#include <unordered_map>
使用自己定义的结构体要重载"======"
map和unordered_map的比较
map:
优点:
- 有序性,这是map结构最大的优点,其元素的有序性在很多应用中都会简化很多的操作
- map底层是以红黑树的数据结构实现的,支持的搜索,插入,删除都是O(logn)的时间复杂度。
缺点:
- 空间占用率高,因为map内部实现了红黑树,虽然提高了运行效率,但 是因为每一个节点都需要额外保存父节点、孩子节点和红/黑性质,使得每一个节点都占用大量的空间
unordered_map:
- 优点: 因为内部实现了哈希表,因此其查找速度非常的快
- 缺点: 哈希表的建立比较耗费时间
- 适用处:对于查找问题,unordered_map会更加高效一些,因此遇到查找问题,常会考虑一下用unordered_map
最新文章
- 从客户端(&;)中检测到有潜在危险的 Request.Path 值
- AppBox升级进行时 - 如何向OrderBy传递字符串参数(Entity Framework)
- Outlook~设置
- 【LeetCode OJ】Construct Binary Tree from Preorder and Inorder Traversal
- AppleScript的字典怎么看怎么用
- TestNG官方文档中文版(1)-介绍
- [原创] Legato 8.1 oracle full backup skip 奇怪的问题处理过程 -- 非调度日期手工运行调度也不成功(skip)
- hibernate 一对一关联关系 及其懒加载,总结
- [转载]关于AutoCAD.NET的辅助方法
- C#的Process类的一些用法
- Java中的异常详解
- Java面向对象的理解
- 「luogu3258」[JLOI2014] 松鼠的新家
- Pyqt walk 在Windows查找文件
- Linux操作系统df相关问题解惑
- odoo8 元素简介
- ldd 以及 ld-linux.so.2
- unix的sed 用法介绍
- 《WAP团队项目需求分析改进》
- Android-ActionBar-与Menu结合