栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

STL 学习总结九 —— map && unordered

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

STL 学习总结九 —— map && unordered

文章目录
  • map && unordered_map
    • 底层实现
    • map
    • unordered_map

map && unordered_map

map中元素是一些key-value 对,关键字起索引作用,值表示和索引相关的数据。

底层实现
  • map底层实现是 基于红黑树实现的,因此map内部元素排列是有序的。
  • unordered_map底层实现是 基于哈希表实现的,因此其元素的排列顺序是杂乱无序的
map

优点:

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

​ map的查找、删除、增加等一系列操作时间复杂度稳定,都为 O ( l o g n ) O(logn) O(logn)

缺点:

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

unordered_map

优点:

查找、删除、增加的操作较快,时间复杂度为常数级 O ( 1 ) O(1) O(1)

缺点:

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/917458.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号