7.4 B树、B+树

B树

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

查找

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

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

插入删除

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

B+树

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

相关推荐
仰泳的熊猫4 小时前
题目2570:蓝桥杯2020年第十一届省赛真题-成绩分析
数据结构·c++·算法·蓝桥杯
罗超驿8 小时前
独立实现双向链表_LinkedList
java·数据结构·链表·linkedlist
努力也学不会java9 小时前
【缓存算法】一篇文章带你彻底搞懂面试高频题LRU/LFU
java·数据结构·人工智能·算法·缓存·面试
菜菜小狗的学习笔记11 小时前
剑指Offer算法题(四)链表
数据结构·算法·链表
We་ct11 小时前
LeetCode 148. 排序链表:归并排序详解
前端·数据结构·算法·leetcode·链表·typescript·排序算法
咱就是说不配啊12 小时前
3.19打卡day33
数据结构·c++·算法
重生之后端学习14 小时前
287. 寻找重复数
数据结构·算法·leetcode·深度优先·图论
一只小灿灿14 小时前
六大主流编程语言数据类型底层深度解析:从硬件寄存器到内存布局、编译运行与跨平台本质(超全底层版)
数据结构
今儿敲了吗14 小时前
46| FBI树
数据结构·c++·笔记·学习·算法
Z9fish15 小时前
sse哈工大C语言编程练习47
c语言·数据结构·算法