数据结构-B树和B+树

devtools/2024/10/21 1:11:07/

一、B树

一个节点包含多个key-value值

假设一棵B树由M个参数构建,我们将其称为M阶B树

        每个节点最多M-1个key-value值,并且key值升序排列,每个节点最多能有M个叉

1.1 分类

二节点

三节点

四节点

五节点

key:  给每一个文件进行标号(主键)

value:  页(存储数据的地址)

1.2 例子

例:构建5阶B树

1.3 优点

        每一个节点都包含key和value,根据key找value时,只需找到key值,value就可以找到。 

而B+树只有遍历到叶子节点才能找到 value值。


二、B+树

B+树的非叶子节点仅具有索引作用,也就是说非叶子节点只存储key值,不存储value值

B+树的所有叶子节点构成一个有序链表。

优点:

B+树的叶子节点不包含value值,只做索引使用,所以节点大小相同的情况下,B+树的非叶子节点能存放更多的key值,树的高度越低。

B+树的叶子节点构成了有序链表,所以遍历整棵树只需要遍历叶子节点即可,便于区间查找。

例子

构建5阶B+树:


http://www.ppmy.cn/devtools/127429.html

相关文章

汽车制造业JIT和JIS的简单区别

JIS:Just In Time 按时生产按时发货,是一种拉动式的生产方式,这种产品和零部件可以把他理解为一种通用的零部件,没有高低配置的区别。其核心在于确保零部件、原材料和组件能够精准地在生产线上所需之时抵达,避免提前堆…

大数据笔记之 Hadoop 常用 Shell 命令(一)

文章目录 前言一、HDFS上的操作1.1 查看文件或文件夹1.2 修改文件或目录权限1.3 创建或删除文件夹1.4 移动或创建文件1.5 信息统计1.6 设置 hdfs 中文件的副本数量 二、在本地上传或下载的操作2.1 从本地上传文件到HDFS2.2 从HDFS下载文件到本地 总结 前言 前无言 一、HDFS上的…

探索人工智能在数学教育上的应用——使用大规模语言模型解决数学问题的潜力和挑战

概述 论文地址:https://arxiv.org/abs/2402.00157 数学推理是人类智能的重要组成部分,人工智能界不断寻求应对数学挑战的方法,而在这一过程中,人工智能的能力需要进一步提高。从文本理解到图像解读,从表格分析到符号操…

数据库->库的操作

目录 一、查看数据库 1.显示所有的数据库 二、创建数据库 1.创建数据库 2.查看警告信息 3.创建一个名为database的数据库 三、字符集编码和校验(排序)规则 1.查看数据库⽀持的字符集编码 2.查看数据库⽀持的排序规则 3.一条完整创建库的语句 4. 不同的字串集与排序规…

Swagger+Knife4j

Springboot使用Swagger应注意版本问题,否则可能会有一些兼容性问题,如常见的报错: 1、“org.springframework.context.ApplicationContextException: Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java…

Web前端高级工程师培训:函数式编程

函数式编程 前置知识 js 基础js面向对象 函数式编程含义 函数式编程是一种强调以函数使用为主的软件开发风格 ,也是一种范式。 某些函数式编程语言Haskell、lisp、Scheme等。 js中函数式编程 数学中函数 f(x) y; js中的函数 let factor 3;let totalNum …

常见的内网渗透思路及方法(包含示例)

内网渗透是指在企业或组织的内部网络中进行安全测试,以发现和利用网络中的安全漏洞。 以下是一些常见的内网渗透思路和方法,包含具体示例: 1. 信息收集 1.1 网络扫描 目的:识别内网中的活跃主机和开放端口。 工具:…

剖析DNS劫持攻击原理及其防御措施

DNS劫持可导致用户访问到虚假网站,还可能使攻击者获取用户的敏感信息或利用受感染的计算机进行其他恶意活动。了解清楚DNS劫持攻击的原理有助于我们提升安全意识,避免个人信息泄露及财产损失。 1. 基础概念 DNS劫持是一种网络攻击,通过修改域…