STL--关联式容器底层实现

关联式容器从底层实现分为两类:①红黑树:set、map、multiset和multimap ②哈希:unordered_set、unordered_map、unordered_multiset和unordered_multimap。

一、红黑树

它是⼀种特殊的⼆叉查找树。红⿊树的每个节点上都有存储位表示节点的颜⾊,可以是红或⿊。

红⿊树的特性:

  • 每个节点或者是⿊⾊,或者是红⾊。
  • 根节点是⿊⾊。
  • 每个叶⼦节点是⿊⾊。 
  • 如果⼀个节点是红⾊的,则它的⼦节点必须是⿊⾊的。
  • 从任一节点到其每个叶子的所有简单路径都包含相同数目的黑色节点。

 

红黑树的查找,插入和删除操作,时间复杂度都是O(logn)。 

二叉查找树

  1. 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值;
  2. 若任意节点的右子树不空,则右子树上所有节点的值均大于或等于它的根节点的值;
  3. 任意节点的左、右子树也分别为二叉查找树;

二、哈希

结合数组查找数据快和链表插入删除效率高优点得到一个寻址容易,插⼊删除也容易的数据结构。查找、增删数据时间复杂度(O(1))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/238915.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PNG素材,这6个网站全部免费下。

从事设计类工作的朋友在日常工作中,需要经常用到PNG免抠素材,为了给大家节省时间,提高工作效率,推荐6个我收藏的免抠素材网站,从此以后就能告别PS扣图啦,一定要收藏好。 1、菜鸟图库 https://www.sucai999…

【改进YOLOv8】杂草识别系统:融合YOLO-MS的MS-Block改进YOLOv8

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 随着人工智能技术的不断发展,计算机视觉领域的研究也取得了巨大的进展。目标检测是计算机视觉中的一个重要任务,它的应用范围广泛&#x…

可视化监控云平台/智能监控EasyCVR如何使用脚本创建ramdisk挂载并在ramdisk中临时运行

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。安防管理视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、云存…

修改 vCenter Server 的 FQDN | hostname | PNID

目录 1 先决条件2. 修改 VC 7.0.3 hostname(1)备份 VCSA(2)为VCSA的新hostname创建DNS记录(3)修改 VCSA 的hostname① 进入vCenter Server VAMI② 查看当前 FQDN③ 编辑网络设置④ 选择网络适配器⑤ 修改 h…

Vue中各种混淆用法汇总

目录 Vue是一个流行的JavaScript框架,许多开发人员都在使用它来构建动态Web应用程序。在使用Vue时,会遇到各种混淆的用法,这些用法可以让您更有效地使用Vue。在本篇文章中,我们将介绍Vue中各种混淆的用法,并提供相应的…

智慧物联|消防物联网监管指挥平台实现对物联网消防警情的全面监测和智能管理

智慧消防是以物联网技术为基础的一种创新型监管指挥系统。它通过集成无线传感器、云计算和大数据分析等先进技术,实现对消防设备和消防员的全方位监测和管理。在传统的消防管理模式中,往往存在信息闭塞、响应速度慢等问题,而智慧消防系统的应…

王者荣耀展示

实现代码: package com.sxt;import javax.swing.*; import java.awt.*;public class Background extends GameObject {public Background(GameFrame gameFrame) {super(gameFrame);// TODO Auto-generated constructor stub}Image bg Toolkit.getDefaultToolkit()…

Leetcode 90 子集 II

题意理解: 求一个集合的子集:该集合有重复元素。 集合[1,2,2] []、[1]、[2]、[2]、[12]、[12]、[22]、[122] 子集:[]、[1]、[2]、[12]、[22]、[122]——由于元素有重复需要对子集进行去重操作。 所以此题的难点在于:子集去重 解题…

temu国内三大仓库在哪里

在拼多多跨境电商平台Temu的运营过程中,仓储物流是至关重要的一环。根据现有资料,Temu在国内设有三个主要仓库,分别位于广州、义乌和香港。这些仓库的位置选择是基于地理优势和市场需求的考虑。 先给大家推荐一款拼多多/temu运营工具——多多…

压缩软件电脑版哪个好?

压缩软件是我们存储文件、清理电脑、向他人发送文件经常用到的工具,下面就从头到尾操作一遍各个软件压缩步骤,根据需求选择好啦。可以放心的是,这四款软件都经过了安全测试,能够保证文件的安全性,并且能够兼容多种操作…

3_流量预测综述阅读_Cellular traffic prediction with machine learning: A survey

为了方便学习英语书写,总结的一些话用英语书写 ♥目录♥ 0、文献来源and摘要1、introduction2、prediction problems and datasets2.1 prediction problems2.2 dataset(1)Telecom Italia 意大利电信 2015(2)City Cell…

OOD : DMAD Diversity-Measurable Anomaly Detection

Diversity-Measurable Anomaly Detection 基于重建的异常检测模型通过抑制异常的泛化能力来迭代学习。然而,由于这种抑制,不同的正常模式的重建效果也会变得不理想。为了解决这个问题,本文提出了一种称为多样性可测量异常检测(DMA…

计算机网络编程

网络编程 Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机, Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. 计算机网络基础 2. So…

射频功率放大器的参数有哪些

射频功率放大器是射频通信系统中重要的组件,用于将输入的射频信号放大到需要的功率水平。在设计和选择射频功率放大器时,需要考虑多种参数。下面西安安泰将详细介绍射频功率放大器的常见参数。 1、P1dB功率压缩点 当放大器的输入功率比较低时&#xff0c…

2024年AI云计算专题研究报告:智算带来的变化

今天分享的人工智能系列深度研究报告:《2024年AI云计算专题研究报告:智算带来的变化》。 (报告出品方:华泰证券) 报告共计:32页 Al 云计算 2024:关注智算带来的新变化 通过对海内外主要云厂商及其产业链…

Godot Engine:跨平台游戏开发的新境界 | 开源日报 No.92

godotengine/godot Stars: 62.6k License: MIT Godot Engine 是一个功能强大的跨平台游戏引擎,可用于创建 2D 和 3D 游戏。它提供了一套全面的常见工具,让用户可以专注于制作游戏而不必重复造轮子。该引擎支持将游戏一键导出到多个平台上,包…

crmeb后台自定义菜单并生成代码

crmeb v5 版本, 前后端分端 后台菜单的生成 进入后台界面之后,我们可以看到界面如下 找到 维护->开发配置->权限维护->添加规则按扭 我们要在设置的 菜单之下,添加一个 基础配置的 子菜单 提交之后,刷新页面就会在列…

在开发微信小程序的时候,报错navigateBack:fail cannot navigate back at firstpage

这个错误的意思是:在这个页面已经是第一个页面了,没办法再返回了 报错原因 这个错误原因其实也简单,就是在跳转的时候使用了wx.redirectTo(),使用wx.redirectTo()相当于重定向,不算是从上一个页面跳转过来的&#xf…

消费升级:无人零售的崛起与优势

消费升级:无人零售的崛起与优势 随着人们生活水平的提高,消费内容正在从生存型消费转向以精神体验和享乐为主的发展型消费。社会居民的消费结构不断变迁,明显呈现消费升级趋势。个性化和多元化消费势头正在崛起,特别是无人零售的自…

nextcloud如何将一个文件共享给所有人

nextcloud能够将文件/文件夹共享给某个用户或者用户组或者生成链接分享,但是无法直接将某个文件共享给nextcloud内部所有用户,并且nextcloud只有分组的概念,没有分组上下级的概念。 我们可以一个用户一个用户的共享,或者创建一个…