本博客中所有截图知识点均来自https://www.bilibili.com/video/BV1UQ4y1P7Xr?p=1
B树又叫多路平衡搜索树,一棵m叉的B树特性如下:
5叉树,根据特性每个非叶子节点由n个key与n+1个指针组成,其中[ceil(m/2)-1]<= n <= m-1
算出 2<= n <=4。当n>4时,中间节点分裂到父节点,两边节点分裂。
插入 C N G A H E K Q M F W L T Z D P R X Y S数据为例
演变过程如下:
(1)插入前4个字母C N G A
(2)插入H,n>4,中间元素G字母向上分裂到新的节点
(3)插入E K Q不需要分裂
(4)插入M,中间元素M字母向上分裂到父节点G
(5)插入F W L T不需要分裂
(6)插入Z,中间元素T向上分裂到父节点中
(7)插入D,中间元素D想上分裂到父节点中。然后插入P,R,X,Y不需要分裂
(8)最后插入S,NPQR节点>5,中间节点Q向上分裂,但分裂后父节点DGMT的n>5,中间节点M向上分裂
到此,该B树就已经构建完成了,B树和二叉树相比,查询数据的效率更高,因为对于相同的数据量来说,B树的层级结构比二叉树小,因此搜索速度快。