1. B树
1.1 B树插入
插入26,得到下图结果,插入后的终端结点中的关键字数大于m-1,需对结点进行分裂
左部26,中间值为30,右部为37,左部放在原来的结点,右部放入新的结点,中间值则插入到父结点中,并且父结点会产生一个新的指针,指向新的结点的位置,如下图所示:
1.2 B树删除
来源:https://juejin.cn/post/6844903673668042759
情况一:删除“I”,直接删除
情况二:删除“G” (下图),删除后可向左或右邻节点借
删除“L”(下图)
情况三:删除“G”(下图),左右邻节点都不能借,父节点拿下来合并
情况四:删除“C”,删除后影响平衡
情况五:删除“M”,删除非叶子节点
情况六:删除“D”,删除根节点
2. MySQL 为什么用B+Tree
来源:https://juejin.cn/post/7081065180301361183
二叉树:性能为log2N,当N比较大的时候,数的深度比较大,严重依赖磁盘I/O,最差会退化为链表
B树:需要中序遍历查找
B+树: