数据结构—查找方法改进流程

news2024/11/20 1:36:37

文章目录

    • 哈希表
    • 哈希表 =>红黑树
      • —1—> 哈希表缺点
      • —2—> 二维数组
      • —3—> 数组加链表
      • —4—> 树
      • —5—> 有序二叉树
      • —6—> 平衡二叉树
      • —7—> 多叉树
      • —8—> 红黑树
  • 红黑树的特点
  • 红黑树和链表的选择

————————————————————————————————

哈希表

在这里插入图片描述

哈希表 =>红黑树

—1—> 哈希表缺点

哈希表查询速度快但是有风险,后来插入数据可能会覆盖原来的数据

—2—> 二维数组

二维数组可以防覆盖,但是数组的大小在创建的时候已经固定,因此同一列插入的数据有限

—3—> 数组加链表

所以使用数组加链表的形式存储数据

—4—> 树

链表降低时间复杂度:树

—5—> 有序二叉树

有序二叉树(左子树比父节点小,右子树比二叉树大)
在这里插入图片描述

—6—> 平衡二叉树

让有序二叉树稳定:平衡二叉树
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

—7—> 多叉树

解决耗费计算机性能:多叉树 2-3-4树(从下往上构建)
在这里插入图片描述

—8—> 红黑树

在这里插入图片描述

红黑树的特点

(1)节点不是红色就是黑色
(2)在红黑树当中,根节点一定是黑色——>因为在转换过程中,二、三、四节点都是黑色节点开头;
(3)叶子节点一定是黑色的——>有默认的黑色叶子节点,省略没画出来;
(4)从根节点到所有叶子节点 所走的路径上,包含相同数量的黑色节点——>因为在二三四树构建红黑树的过程中,每一层的开头的节点都是黑色节点,黑色节点数目可以代表层数,二三四树的层数相同(等高);
(5)如果一个节点是红色的,那么他的子节点一定是黑色的——>黑色节点开头,红色节点一定是接新节点,所以红色节点一定接黑色节点——>绝对没有成对出现的红色节点——>最复杂的路线是黑红相间,最短的路径都是黑色——>最长的路径绝不会超过最短路径的二倍——>红黑树相对于有序二叉树的稳定性
红黑树解决了不稳定的问题,解决了资源消耗的问题,是内存最优二叉树

红黑树和链表的选择

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ansible的主机清单和Playbook(剧本)

一、inventory---主机清单 1.1 支持对主机分组,每个组内可以定义多个主机,可以把一台主机分别放在两个组内。 把.10到.100的主机全部放在这个组里面(/etc/ansible/hosts:配置文件) 有的主机不是以ip地址放在主机清单里的&#x…

企业实施SRM系统应该避开哪些误区?

近年来,SRM供应商协同管理系统逐渐在各行各业中得到广泛运用,许多企业在SRM选型时投入了大量的时间、资源和精力,但系统上线后的效果却并不理想。SRM选型时常见的误区主要有以下几种: 误区一:头痛医头脚痛医脚&#x…

[附源码]计算机毕业设计人体健康管理appSpringboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【从零开始学习深度学习】6.使用torchvision下载与查看图像分类数据集Fashion-MNIST

目录1.1 获取Fashion-MNIST数据集2.2 读取小批量小结图像分类数据集中最常用的是手写数字识别数据集MNIST。但大部分模型在MNIST上的分类精度都超过了95%。为了更直观地观察算法之间的差异,我们将使用一个图像内容更加复杂的数据集Fashion-MNIST。 本节我们将使用to…

博图Modbus组态及参数设定源码

1、组态选择 协议为Modbus,可在程序里设置通讯方式 2、参数初始化设置 3、选择伺服Modbus 地址 4、写入负值,两个字都必须是负值 5、接线方式 伺服端:驱动器通过通讯连接器与计算机相连,使用者可利用 MODBUS 通讯结合汇编语言来操作驱动器&…

运放失调电压失调电流,计算输入电压信号大小,设计反向放大器

笔者电子信息专业硕士毕业,获得过多次电子设计大赛、大学生智能车、数学建模国奖,现就职于南京某半导体芯片公司,从事硬件研发,电路设计研究。对于学电子的小伙伴,深知入门的不易,特开次博客交流分享经验&a…

销售抓住客户心理的话术

由于销售会与各种各样的人打交道,因此销售也是最容易洞察客户心理的职业,优秀的销售懂得如何抓住客户的心理,从而挖掘客户的需求和痛点,进一步促进成交。 前言 由于销售会与各种各样的人打交道,因此销售也是最容易洞察…

【NC65】主子表单据按照单表结构展现 节点客开

需求描述: 需要将【采购入库】按照【采购订单关闭】节点的形式展现数据。 客开思路: 功能注册增加功能节点,(40080603)勾选启用。菜单注册增加 菜单 并关联 功能节点(40080603)。初始化 单据模板,查询模板采购入库单主子表汇总VO是PurchaseInViewVO ,系统里其他单据节点 …

MyBatis-Plus之ActiveRecord[基础增删改查操作]

系列文章目录 Mybatis-Plus知识点[MyBatisMyBatis-Plus的基础运用]_心态还需努力呀的博客-CSDN博客 Mybatis-PlusSpringBoot结合运用_心态还需努力呀的博客-CSDN博客MyBaits-Plus中TableField和TableId用法_心态还需努力呀的博客-CSDN博客 MyBatis-Plus中的更新操作&#xf…

应用层之HTTP和HTTPS协议(必备知识)

文章目录1、什么是HTTP协议2、HTTP协议格式<1>HTTP请求方法<2>HTTP的状态码3、HTTP是不保存状态的协议<1>使用Cookie的状态管理3、HTTPS<1>加密方式<2>理解HTTPS加密过程1、什么是HTTP协议 HTTP协议常被称为超文本传输协议&#xff0c;HTTP协议…

国产蓝牙耳机什么牌子好?2022蓝牙耳机品牌排行

随着蓝牙耳机市场的快速发展&#xff0c;国产蓝牙耳机品牌也越来越多。那么在众多的国产蓝牙耳机当中&#xff0c;什么牌子的比较好呢&#xff1f;下面&#xff0c;一起来看看2022蓝牙耳机品牌排行吧。 一、南卡小音舱蓝牙耳机 售价&#xff1a;299 蓝牙&#xff1a;5.3 发…

ADSP-21489的开发详解:VDSP+自己编程写代码开发(4-按键控制 LED 灯)

以上全部都 OK 之后&#xff0c;我们就可以开始跑程序了。&#xff08;抱歉上面几项写的很罗嗦&#xff0c;都是我这近 15 年来开发 ADI DSP 实际项目里碰到问题的经验之谈&#xff0c;希望能够对用户有帮助&#xff09; 跑程序就涉及到了 Visual DSP软件的操作&#xff0c;我…

高校教材征订系统(Java+Web+MySQL)

目 录 ABSTRACT 2 1 概述 5 1.1开发背景 5 1.2 项目提出的意义 5 1.3 系统的开发方法 5 1.4 系统开发工具 6 1.4.1 JSP简介 6 1.4.2 JDK配置 7 1.4.3 数据库简介 8 1&#xff0e;4&#xff0e;4 tomcat配置 9 2 需求分析 11 2.1可行性分析 11 2.2 系统设计的要求 11 2.3 系统功…

01、RabbitMQ入门

目录 1.、什么是MQ 2、应用场景 3、主流MQ框架 4、Docker安装部署RabbitMQ 5、RabbitMQ管理平台 6、MQ的核心概念 单一生产者和单一消费者 7、springboot整合rabbitmq 执行测试方法testRabbitmq&#xff0c;控制台输出&#xff1a;receive msg : test rabbitmq messag…

[附源码]计算机毕业设计时间管理软件appSpringboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Vector-常用CAN工具 - CANoe入门到精通_01

之前有写过相关的CANoe工程配置&#xff0c;不过没有进行系统的介绍&#xff0c;通过各位热心人士的反馈&#xff0c;有些内容无法看懂&#xff0c;因此后续的内容会做好排版&#xff0c;让大家从入门到精通&#xff0c;一次性掌握所有的相关内容。今天就主要来介绍下VN1640/VN…

读vue源码搞懂响应式原理

vue2响应式原理 Vue2是借助Object.defineProperty()实现的&#xff0c;而Vue3是借助Proxy实现的想深入学习 Vue2 的响应式原理, 需要先学习 Object.defineProperty() 方法为了称呼方便, 后续说 Vue 响应式原理统一指 Vue2 的响应式原理 1.Object.defineProperty 方法 - 简介 定…

go实战(1)-hello,world与包基础(1)-模块基础

目录程序结构程序代码使用和建立包建立目录模块参考中的身份验证计算哈希值go.sum文件Checksum database程序结构 声明一个main包(包是对函数进行分组的一种方法&#xff0c;它由同一目录中的所有文件组成)。 导入流行的fmt包&#xff0c;它包含格式化文本的函数&#xff0c;…

WIFI码挪车码创建生成CPS聚合流量主小程序开发

WIFI码挪车码创建生成CPS聚合流量主小程序开发 系统特点// 这不是一套普通的给别人开SAAS账号的CPS推广返利系统&#xff0c;而是一套服务商版的CPS推广返利系统&#xff01;所谓服务商版&#xff0c;就是所有CPS推广走你的渠道接口&#xff0c;除了可以给你的下级客户开账号外…

MySQL下载安装运行

方式1、MySQL 官方网站&#xff1a;http://www.mysql.com 拉到最下面&#xff1a; 方式2、Windows版 MySQL 的官方下载地址&#xff1a;https://dev.mysql.com/downloads/mysql/ 配置环境变量&#xff1a;在Path中添加至“\bin”&#xff08;系统盘C盘&#xff09;形式 使用管…