COSMIC的后端学习之路——1.2 磁盘存储链式的B树与B+树

本文详细介绍了B树和B+树的数据结构特性,包括它们的性质、区别以及在磁盘存储中的优势。通过分析多叉树的作用,探讨了B树与B+树的结点组成、操作(如插入和删除结点)以及在实际应用中的差异,旨在帮助读者深入理解这两种重要的数据结构。
摘要由CSDN通过智能技术生成


本博客总结自零声教育的课程

本博客将和大家一起学习B树和B+树的相关知识,包括多叉树的作用、B树的性质、B树与B+树的区别、等内容,并和大家一起手撕B树的相关代码,包括添加一个结点、删除一个结点等

下述内容相关的代码均在我的github中,代码中每条语句都有详细的注释,希望大家搭配代码来阅读以下内容,以下是我的github代码链接,恳请大家批评指正!
GitHub代码
我自己实现的btree.c代码在btree文件夹中
课程中的参考代码在0voice文件夹的btree文件夹中

知识树

在这里插入图片描述

1、多叉树的作用

多叉树的作用:降层高,使得结点数量变少,使得查找结点的次数变少,更快寻址:
★★★磁盘的存储适合用B树或B+树,因为多叉树降层高是为了方便寻址,每次内存向磁盘发送指令寻址时都需要消耗一定时间,使用B树或B+树可以使得寻址更快

2、B树的性质(6)

1、每个结点至多拥有M棵子树(M最好为偶数,易于分裂)
2、根节点至少拥有2棵子树
3、除了根节点以外,其余每个分支结点至少拥有M/2棵子树
4、所有叶子结点在同一层上
5、有k棵子树的分支结点存在k-1个关键字,关键字(key)按照递增顺序排序
6、关键字数量满足ceil(M / 2) <= n <= M – 1(ceil函数:向上取整)

3、多叉树和B树之间的区别与联系

联系:B树一定是多叉树,但是多叉树不一定是B树
区别(3):
1、多叉树没有约束平衡(B树的所有叶子结点在一层上面)
2、多叉树没有约束每个结点子树的数量(B树约束了每个结点至少有多少个子树)
3、遍历B树时数据是顺序的(B树

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值