7.4 B树、B+树

B树

m阶B树是所有结点的平衡因子均等于0的m路平衡查找树。

查找

根据每个结点的子树的多路分支决定。对结点(有序表)遍历,来进入下一个分支,如果查找到的是空节点则说明查找失败,否则继续查找。

因此,B树的高度至关重要。B树中的大部分操作所需的磁盘存取次数与B树的高度成正比。

插入删除

相对二叉排序树更为复杂。插入后可能导致结点关键字个数溢出的情况,需要进行调整。删除同理,可能导致结点关键字不足,需要进行合并,一般借兄弟,也可能存在兄弟不够借的情况,需要合并双亲。

B+树

B树的变形,区别在B+树的所有分支节点中仅包含它的各个子结点中关键字的最大值及指向其子结点的指针。因此,B+树叶子结点不再是空,查询失败的情况下可以比B树少查询一次。

相关推荐
_w_z_j_16 分钟前
最小栈(栈)
数据结构
fufu031136 分钟前
Linux环境下的C语言编程(四十八)
数据结构·算法·排序算法
思成Codes2 小时前
数据结构:基础线段树——线段树系列(提供模板)
数据结构·算法
卜锦元4 小时前
Golang后端性能优化手册(第三章:代码层面性能优化)
开发语言·数据结构·后端·算法·性能优化·golang
2401_841495645 小时前
【LeetCode刷题】打家劫舍
数据结构·python·算法·leetcode·动态规划·数组·传统dp数组
冰西瓜6006 小时前
STL——vector
数据结构·c++·算法
Bdygsl6 小时前
数据结构 —— 双向循环链表
数据结构·链表
程序员阿鹏6 小时前
怎么理解削峰填谷?
java·开发语言·数据结构·spring·zookeeper·rabbitmq·rab
LYFlied6 小时前
【每日算法】LeetCode 300. 最长递增子序列
前端·数据结构·算法·leetcode·职场和发展
2401_877274248 小时前
2025数据结构实验八:排序
数据结构·算法·排序算法