当前位置: 首页 > news >正文

30、map 和 unordered_map的区别和实现机制【高频】

底层结构

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

有序性

  • 但是红黑树其实是一种二叉搜索树,插入删除时会自动排序
  • hash因为是把数据映射到数组上的,而且存在哈希冲突,所以不能保证有序存储

所以有序存储使用map(红黑树的中序遍历,就能把储存的数据从小到大把数据按序展现出来)

查找

  • 为了查找,红黑树需要依次比较 关键码,时间复杂度为logn,还要加上平衡节点旋转的时间

  • 虽然说哈希表的内存 消耗远大于红黑树,但是因为哈希表增删查改时是直接映射到数组上的,时间复杂度为O(1)

相关文章:

  • FreeRTOS之信号量
  • 【后端】【django】Django DRF `@action` 详解:自定义 ViewSet 方法
  • 微信小程序实现根据不同的用户角色显示不同的tabbar并且可以完整的切换tabbar
  • 母婴商城系统Springboot设计与实现
  • 冠珠瓷砖×郭培“惟质致美”品质主题片上映,讲述高定艺术背后的致美品质故事
  • SSM基础专项复习5——Maven私服搭建(2)
  • 1.2、Java中的私有方法
  • 前端笔试高频算法题及JavaScript实现
  • 安科瑞EMS3.0开启企业微电网能源管理新篇章
  • 了解printf函数
  • (包清楚解疑)ES6中__dirname和__filename不见了吗?,到底怎么用
  • 从零到精通文本指令:打造个人AI助理的完整指令库(Prompt 指令实操)
  • IIC协议-HAL库
  • 在微信小程序或前端开发中,picker 和 select 都是用户交互中用于选择的组件,但它们在功能、设计和使用场景上有一定的区别
  • StarRocks + Paimon 在阿里集团 Lakehouse 的探索与实践
  • go回调函数的使用
  • 分而治之:用于 RGB-T 显著目标检测的 Confluent Triple-Flow 网络(问题)
  • 基于Babylon.js的Shader入门三(让Shader中的纹理动起来)
  • Jmeter的简单使用
  • STM32-SPI通信外设
  • “敌人已经够多了”,菲总统马科斯:愿与杜特尔特家族和解
  • 黄仁勋的新逻辑:从“卖铲人”到“全球AI基建运营商”
  • 一日双赛“莎头组合”赢得强势,但国乒已开始品尝输球滋味
  • 推动粒子治疗更加可及可享!龚正调研上海市质子重离子医院
  • 欧阳娜娜等20多名艺人被台当局列入重要查核对象,国台办回应
  • 大学2025丨苏大教授王尧:文科最大的危机是阐释世界的能力弱化