B树与B+树

B树

image.png
B树,又称多路平衡查找树,B树中所有结点的孩子个数的最大值称为B树的阶,通常用m表示。一颗m阶B树或为空树,或为满足如下特征的m叉树。

  1. 树中每个结点至多有m棵子树,即至多含有m-1个关键字
  2. 若根结点不是终端结点,则至少有两颗子树
  3. 除根结点外的所有非叶结点至少有[m/2]棵子树,即至少含有[m/2]-1个关键字
  4. 所有的叶结点都出现同一层次上,并且不带信息(可以视为外部结点或类似于折半查找判定树的查找失败结点,实际上这些结点不存在,指向这些结点的指针为空)
  5. 所有非叶结点的结构如下:

image.png
image.png

B树的高度

image.png
image.png
image.png
image.png

B树的插入

image.png
image.png
image.png
image.png
新元素一定是插入到最底层“终端节点”,用‘查找’来确定插入位置
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

B树的删除

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

B+树

image.png
image.png
一颗m阶的B+树需满足下列条件:

  1. 每个分支结点最多有m课子树(孩子结点)
  2. 非叶根结点至少有两棵子树,其他每个分支结点至少有[m/2]课子树
  3. 结点的子树个数与关键字个数相等
  4. 所有叶结点包含全部关键字及指向相应记录的指针,叶结点中将关键字按大小顺序排序,并且相邻叶结点按大小顺序互相链接起来
  5. 所有分支结点中仅包含它的各个子结点中关键字的最大值及指向其子结点的指针

image.png

B+树的查找

image.png
image.png
image.png
image.png
image.png
image.png
顺序查找:
image.png
image.png

B+树 VS B树

image.png
m阶B+树:

  1. 结点中的n个关键字对应n棵子树
  2. image.png
  3. 在B+树中,叶结点包含全部关键字,非叶结点中出现过的关键字也会出现在叶结点中
  4. 在B+树中,叶结点包含信息,所有非叶结点仅起索引作用,非叶结点中的每个索引项只含有对应子树的最大关键字和指向该子树的指针。不含有该关键字对应记录的存储地址

image.png
m阶B树:

  1. 结点中的n个关键字对应n+1棵子树
  2. image.png
  3. 在B树中,各结点中包含的关键字是不重复的
  4. B树的结点中都包含了关键字对应的记录的存储地址

image.png
image.png

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

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

相关文章

Selenium+JQuery定位方法及应用

SeleniumJQuery定位方法及应用 1 JQuery定位说明1.1 JQuery定位方法1.2 JQuery最常用的三个操作1.3 JQuery一个示例1.3.1 用户名输入框1.3.2 密码输入框1.3.3 登陆按钮1.3.4 完整代码 2 JQuery选择器2.1 常用选择器列表2.2 思考 1、关于Selenium提供了很多元素定位方法&#xf…

阿里云添加端口

目录 阿里云添加端口的方法与步骤详解 一、登录阿里云控制台 二、创建安全组 三、添加入站规则 四、添加出站规则 五、完成添加端口操作 也可 1:搜索轻量级服务器 2:点击服务器 3:点击添加规则 4:保存即可 总结 阿里云…

谈谈steam游戏搬砖的收益与风险,以及注意事项

11月CSGO市场行情分析,是否到了该抄底的时候了? 今天,要跟大家分享的Steam平台——全球最大的游戏平台,现在给大家介绍下steam搬砖项目,这个项目既小众又稳定。 先了解一下 steam这个平台是做什么的,steam…

wsl 报错:“参考的对象类型不支持尝试的操作。 Error code: Wsl/Service/0x8007273d“(win10可用)

参考文章:简书-Happyjava(作者)-wsl2出现参考的对象类型不支持尝试的操作的解决方法(win11 永久解决) c盘中User的用户名文件夹下的下述路径,创建下述文件夹,内容为:netsh winsock r…

黑客技术(网络安全)—高效自学

前言 前几天发布了一篇 网络安全(黑客)自学 没想到收到了许多人的私信想要学习网安黑客技术!却不知道从哪里开始学起!怎么学 今天给大家分享一下,很多人上来就说想学习黑客,但是连方向都没搞清楚就开始学习…

【广州华锐互动】楼宇自动化VR教学课件打造便捷、高效、低成本的教学体验

随着科技的快速发展,智能楼宇已成为现代建筑行业的趋势。为了更好地推广和应用智能楼宇技术,楼宇自动化VR教学课件应运而生。该系统利用3D虚拟仿真技术,为学生和教师提供了一个便捷、高效、低成本的教学平台,让学生可以更好地掌握…

敏感数据是什么?包含哪些?如何保障安全?

最近看到不少小伙伴在问,敏感数据是什么?包含哪些?如何保障安全?这里我们小编就给大家一一解答一下,仅供参考哦! 敏感数据是什么? 敏感数据,是指泄漏后可能会给社会或个人带来严重危…

OpenWRT搭建个人web站点并结合内网穿透实现公网远程访问

文章目录 前言1. 检查uhttpd安装2. 部署web站点3. 安装cpolar内网穿透4. 配置远程访问地址5. 配置固定远程地址 前言 uhttpd 是 OpenWrt/LuCI 开发者从零开始编写的 Web 服务器,目的是成为优秀稳定的、适合嵌入式设备的轻量级任务的 HTTP 服务器,并且和…

Ubuntu环境下为串口设置别名

本文介绍Ubuntu环境下为串口设置别名。 Ubuntu环境下,有时候开发调试会使用到USB转串口,本文介绍在不同使用场景下为串口设置别名的方法。主要分为绑定设备ID和绑定USB端口号。 1.绑定设备ID 绑定设备ID适用于USB转串口的设备ID唯一的情况&#xff0c…

Vatee万腾科技决策力的引领创新:Vatee数字化视野的崭新天地

在数字时代的激烈竞争中,Vatee万腾以其科技决策力的引领,开创了数字化视野的崭新天地。这并不仅仅是一场技术的飞跃,更是一次对未来的深刻洞察和引领创新的勇敢实践。 Vatee万腾的科技决策力不仅仅停留在数据分析和算法的运用,更是…

RK3568驱动指南|第七期-设备树-第65章 设备树下platform_device和platform_driver匹配实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

【Seata源码学习 】 扫描@GlobalTransaction注解 篇一

1. SeataAutoConfiguration 自动配置类的加载 基于SpringBoot的starter机制,在应用上下文启动时,会加载SeataAutoConfiguration自动配置类 # Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfigurationio.seata.spring.boot.aut…

概率论和数理统计(三)数理统计基本概念

前言 “概率论”是给定一个随机变量X的分布F(x),然后求某事件A概率 P ( x ∈ A ) P(x \in A) P(x∈A)或者随机变量X的数字特征.“统计”是已知一组样本数据 { x 1 , x 2 , . . . x n } \{x_1,x_2,...x_n\} {x1​,x2​,...xn​},去求分布F(x) 统计的基本概念 在统计中&#x…

Wpf 使用 Prism 实战开发Day05

首页设计 1.效果图 一.代码现实 根据页面布局,可以将页面设计成3行,每行中分多少列,看需求而定根据页面内容,设计Model 实体类,以及View Model 1.Index.xaml 页面布局设计 RowDefinition 分行(Row&#xf…

11月13日星期一今日早报简报微语报早读

11月13日星期一,农历十月初一,早报微语早读。 1、国家邮政局:“双11”当天全国快递业务量达6.39亿件; 2、公安机关通缉4名缅北电诈头目,其中一人为缅甸掸邦议会原议员; 3、多部门提醒:未满10…

响应式摄影科技传媒网站模板源码带后台

模板信息: 模板编号:540 模板编码:UTF8 模板颜色:黑白 模板分类:摄像、婚庆、家政、保洁 适合行业: 模板介绍: 本模板自带eyoucms内核,无需再下载eyou系统,原创设计、手…

面试被问答3-5年职业规划,该怎么回答

面试官问这些问题的目的是什么?他想得到什么满意的答案。只要清楚这些,就不难回答这个问题。 1、你有没有上进心?公司是否值得培养呢? 你需要对专业能力充满向往,希望自己在3~5年内,把专业能力做好&#…

Python---元组的相关操作方法

由于元组中的数据不允许直接修改,所以其操作方法大部分为查询方法。 编号函数作用1元组[索引]根据索引下标查找元素2index()查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表、字符串的index方法相同3count()统计某…

JAVA基础:子父类关系里的实例创建流程

实验类: 📎A.javahttps://www.yuque.com/attachments/yuque/0/2023/java/21609500/1699858993581-1df32da6-8360-4a98-aa1b-d9a59d3b2d76.java 📎B.javahttps://www.yuque.com/attachments/yuque/0/2023/java/21609500/1699858998289-d9e31…

得帆低代码OMS助力SAP和Oracle ERP订单模块全线升级,感受非凡体验

场景背景 随着数字化转型进入深水区,智能化、移动化、可视化的需求越来越强烈,而传统的Oracle、SAP销售模块很难快速满足销售端的上述需求,逐渐面临如下痛难点: IT服务商响应不足:企业越来越多信息化的业务需要大量的供…