三十、【进阶】B树的演变过程

news2024/11/28 17:51:34

1、索引结构

(1)二叉树

(2)B-Tree树

        B-Tree树最大度数为5,代表每一个节点最多存储4个key(每个节点最多存储4个数据),5个指针(可以指向5个子节点)。

2、演变过程(最大度数为5)

(1)先插入【1】、【2】、【3】、【4】:

(2)再插入【5】,因为最大度数为5,代表每个节点最多插入4个数据,当插入第五个数据时,中间的数据的就会向上分裂,如下:

(3)插入【6】,先找到根节点,【6】>【3】,所以【6】应存储再【3】的右子树上,【3】右子树的第一个节点已经存储了【4、5】,按照从小到大顺序,将【6】存储进去,最终,【3】右子树的第一个节点为【4、5、6】:

以此类推,存储【7】:

(4)在存储【8】时,因为【3】右子树的第一个节点已经存储了4个key,所以在存储【8】时,【4、5、6、7、8】中间元素会向上分类,形成如下:

(5)依次类推,存储【8、9、10、11、12、13、14、15、16】,如下:

(6)在存储【17】时,因为【17】>【12】,所以被分配向根节点的最右边的子树,根节点最右边的子树变为【13、14、15、16、17】,但因为节点的度数最大为5(最多存储4个key),所以该节点的中间元素【15】将会向上分裂,与上一节点合并在一起,形成【3、6、9、12、15】。但该节点(【3、6、9、12、15】)存储的key又超过了最大值,所以该节点的中间【9】又会向上分裂,形成如下:

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

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

相关文章

C++ 33.学习C++的意义-狄泰软件学院

一些历史 UNIX操作系统诞生之初是直接用汇编语言编写的随着UNIX系统的发展,汇编语言的开发效率成为瓶颈,所以需要一个新的语言替代汇编语言1971年通过对B语言改良,使其能直接产生机器代码,C语言诞生UNIX使用C语言重写&#xff0c…

音频格式怎么转换成mp3?

音频格式怎么转换成mp3?那是因为很多时候我们在使用手机录音或下载平台音频时,可能会遇到无法打开或播放的情况。这通常是因为我们所使用的音频格式不被通用的播放器所支持,导致了无法打开的问题。为了解决这个问题,我们需要将音频…

“新”国货@2023:质疑、回归与转机

【潮汐商业评论/ 原创】 “我是真爱买国货,上到冰箱电视洗衣机,这样的家电大件儿,下到日化洗护用品,这样的日常小件儿,统统首选国货品牌,也只考虑国货品牌。”此时此刻,Grace正与大家分享着自己…

软件设计师_数据结构与算法基础_学习笔记

文章目录 6.1 数组与矩阵6.1.1 数组6.1.2 稀疏矩阵 6.2 线性表6.2.1 数据结构的定义6.2.2 顺序表与链表6.2.2.1 定义6.2.2.2 链表的操作 6.2.3 顺序存储和链式存储的对比6.2.4 队列、循环队列、栈6.2.4.2 循环队列队空与队满条件6.2.4.3 出入后不可能出现的序列练习 6.2.5 串6.…

Flink学习笔记(二):Flink内存模型

文章目录 1、配置总内存2、JobManager 内存模型3、TaskManager 内存模型4、图形化展示5、实际案例计算内存分配 1、配置总内存 Flink JVM 进程的进程总内存(Total Process Memory)包含了由 Flink 应用使用的内存(Flink 总内存)以…

如何把pdf转换成word?4个简单方法效果好

如何把pdf转换成word?大家对于pdf和word两种电脑文件都不陌生吧,毕竟我们平时几乎每天都会使用到它们。将PDF转换为Word文档的一个主要原因是为了方便编辑和修改文档,尽管PDF是一个非常流行的电子文档格式,但如果想要编辑或修改其…

Java数组:没错,不装了我就是书架。

👑专栏内容:Java⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、数组的概念1、什么是数组?2、数组的创建3、数组的初始化Ⅰ、动态初始化Ⅱ、静态初始化 二、数组的使用1、数组中…

OLED透明拼接屏的完美融合,唐山的历史遗迹与现代科技

引言:作为河北省的一个重要城市,唐山以其丰富的历史文化和独特的自然风光吸引着众多游客。 近年来,随着科技的不断进步,OLED透明拼接屏的应用为唐山增添了一道新的城市风景线。 作为一名资深工程师,我将介绍唐山的历…

kafka的请求处理机制

目录 前言: kafak是如何处理请求的? 控制请求与数据类请求 参考资料 前言: 无论是 Kafka 客户端还是 Broker 端,它们之间的交互都是通过“请求 / 响应”的方式完成的。比如,客户端会通过网络发送消息生产请求给 B…

Linux 守护进程

一 何为守护进程 守护进程( Daemon )也称为精灵进程,是运行在后台的一种特殊进程,它独立于控制终端并且周期性 地执行某种任务或等待处理某些事情的发生,主要表现为以下两个特点: 长期运行。守护进程是一…

【DRAM存储器十二】SDRAM介绍-各类写操作详解

👉个人主页:highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 参考资料:《镁光SDRAM数据手册》、《PC SDRAM specification》 目录 写操…

【ElasticSearch】基于Docker 部署 ElasticSearch 和 Kibana,使用 Kibana 操作索引库,以及实现对文档的增删改查

文章目录 前言一、使用 Docker 部署 ElasticSearch 和 Kibana1.1 部署 ElasticSearch1.2 部署 Kibana1.3 利用 Kibana 演示 Elasticsearch 分词效果 二、解决中文分词的问题2.1 默认分词器对中文分词的问题2.2 引入 IK 分词器2.3 IK 分词器的两种分词模式2.4 IK 分词器存在的问…

HTTP爬虫IP:流量or数量计费模式那个更适合爬虫?

在使用HTTP爬虫IP时,我们常常需要考虑计费方式:按流量计费还是按数量计费。这两种计费方式各有优势,但是哪种更加划算呢?本文将为您深入探讨HTTP爬虫IP的流量计费和数量计费的特点、适用场景以及选择适合自己的计费方式的实用技巧…

MySQL学习笔记(快速入门)

一、数据库相关概念 名称全称简称数据库存储数据的仓库,数据是有组织的进行存储DataBase(DB)数据库管理系统操纵和管理数据库的大型软件DataBase Management System (DBMS)SQL操作关系型数据库的编程语言,定义了一套操作关系型数…

[PyTorch][chapter 57][WGAN-GP 代码实现]

前言: 下图为WGAN 的效果图: 绿色为真实数据的分布: 8个高斯分布 红色: 为随机产生的数据分布,跟真实分布基本一致 WGAN-GP: 1 判别器D: 最后一层去掉sigmoid 2 生成器G 和判别器D: loss不取log 3 损失函数…

Spring AOP 详解及@Trasactional

Spring AOP 详解 AOP基础 AOP: Aspect Oriented Program, 面向切面编程。解耦(组织结构调整)、增强(扩展)。 AOP术语 术语 说明 Aspect(切面) 横切于系统的连接点实现特定功能的类 JoinPoint&#xf…

Axios、SASS学习笔记

目录 前言 一、Axios基础认识 1、简介 2、相关文档 3、基本配置 4、基础快捷使用 二、Axios封装 1、公共配置文件 2、细化每个接口的配置 3、使用并发送请求 三、SASS 1、简介 2、相关文档 3、使用前奏 4、使用变量 5、嵌套规则 6、父级选择器标识 & 前言…

小谈设计模式(10)—原型模式

小谈设计模式(10)—原型模式 专栏介绍专栏地址专栏介绍 原型模式角色分类抽象原型(Prototype)具体原型(Concrete Prototype)客户端(Client)原型管理器(Prototype Manager…

《C++ Primer》第4章 表达式(二)

参考资料: 《C Primer》第5版《C Primer 习题集》第5版 4.6 成员访问运算符(P133) 点运算符和箭头运算符都可用于访问成员,ptr->mem 等价于 (*ptr).mem 。箭头作用于指针类型对象,结果为左值;点运算符…

【Mysql】 blob 转text

有个数据表字段存储的字段类型是blob,想查看字段内容。 blob是二进制的无法直接查看怎么办? 写sql,blob 转text SELECT CONVERT(content USING utf8) FROM article_content ; 我想把原来content字段完全转成text 新建 text 类型字段conten…