浅谈map和unordered

2024-03-11 1253阅读

温馨提示:这篇文章已超过376天没有更新,请注意相关的内容是否还可用!

map和unordered_map的适用场景

底层结构介绍

  • map底层是红黑树结构
  • unordered_map底层是哈希结构;

    浅谈map和unordered

    Hash适用场景(unordered_map)

    内存存角度来说hash因为底层维护了哈希表的存在,内存消耗远大于红黑树,但是因为哈希表增删查改时的直接映射,使其增删查效率来说可以做到平均O(1)常数级别时间复杂度(红黑树需要依次进行关键码比较,时间是logN的复杂度还要加上平衡节点旋转的时间),那么对数据修改较多且不考虑内存问题的场景可以优先考虑hash;

    RB-Tree适用场景(map)

    但是红黑树是基于搜索树设计的,具有天然的有序性,hash因为存在哈希冲突所以不能保证存储的数据有序,那么对数据存储存在有序性需求的优先使用红黑树;(比如红黑树中,一个中序遍历,就能把储存的数据从小到大把数据按序展现出来)

    总结

    map红黑树,频繁的增删查改效率可能会不如hash的unordered_map,但是它有序,在迭代操作一段范围的存储元素的时候效率高!

    unordered_map哈希结构,频繁的增删查改切不考虑内存:则效率高于map红黑树,但是它存储的数据无有序性,面对迭代操作一段范围的存储元素效率较低!

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]