当前位置: 首页 > 面试题库 >

请你回答一下map和unordered_map优点和缺点?

郦翰学
2023-03-14
本文向大家介绍请你回答一下map和unordered_map优点和缺点?相关面试题,主要包含被问及请你回答一下map和unordered_map优点和缺点?时的应答技巧和注意事项,需要的朋友参考一下

参考回答:

对于map,其底层是基于红黑树实现的,优点如下:

1)有序性,这是map结构最大的优点,其元素的有序性在很多应用中都会简化很多的操作

2)map的查找、删除、增加等一系列操作时间复杂度稳定,都为logn

缺点如下:

1)查找、删除、增加等操作平均时间复杂度较慢,与n相关

对于unordered_map来说,其底层是一个哈希表,优点如下:

查找、删除、添加的速度快,时间复杂度为常数级O(c)

缺点如下:

因为unordered_map内部基于哈希表,以(key,value)对的形式存储,因此空间占用率高

Unordered_map的查找、删除、添加的时间复杂度不稳定,平均为O(c),取决于哈希函数。极端情况下可能为O(n)

 类似资料:
  • 本文向大家介绍请你说一说map和unordered_map的底层实现?相关面试题,主要包含被问及请你说一说map和unordered_map的底层实现?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: map底层是基于红黑树实现的,因此map内部元素排列是有序的。而unordered_map底层则是基于哈希表实现的,因此其元素的排列顺序是杂乱无序的。

  • 本文向大家介绍请你回答一下mongodb和redis的区别相关面试题,主要包含被问及请你回答一下mongodb和redis的区别时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 内存管理机制上:Redis 数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的 LRU 算法删除数据。MongoDB 数据存在内存,由 linux系统 mmap 实现,当内存不够时,只将热点数据放入内存,其

  • 本文向大家介绍请你回答一下fork和vfork的区别相关面试题,主要包含被问及请你回答一下fork和vfork的区别时的应答技巧和注意事项,需要的朋友参考一下 参考回答: fork的基础知识: fork:创建一个和当前进程映像一样的进程可以通过fork( )系统调用: #include <sys/types.h> #include <unistd.h> pid_t fork(void); 成功调用

  • 本文向大家介绍请你回答一下git中Merge和rebase区别?相关面试题,主要包含被问及请你回答一下git中Merge和rebase区别?时的应答技巧和注意事项,需要的朋友参考一下 Merge会自动根据两个分支的共同祖先和两个分支的最新提交 进行一个三方合并,然后将合并中修改的内容生成一个新的 commit,即merge合并两个分支并生成一个新的提交,并且仍然后保存原来分支的commit记录 R

  • 本文向大家介绍请你说说STL中map与unordered_map?相关面试题,主要包含被问及请你说说STL中map与unordered_map?时的应答技巧和注意事项,需要的朋友参考一下 1、Map映射,map 的所有元素都是 pair,同时拥有实值(value)和键值(key)。pair 的第一元素被视为键值,第二元素被视为实值。所有元素都会根据元素的键值自动被排序。不允许键值重复。 底层实现:

  • 本文向大家介绍请回答一下HTTP和HTTPS的区别,以及HTTPS有什么缺点?相关面试题,主要包含被问及请回答一下HTTP和HTTPS的区别,以及HTTPS有什么缺点?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: HTTP协议和HTTPS协议区别如下: 1)HTTP协议是以明文的方式在网络中传输数据,而HTTPS协议传输的数据则是经过TLS加密后的,HTTPS具有更高的安全性 2)HTT