B树是一种平衡的多路查找树,每个节点储存x个数据,并由这x个数据划分出x+1段空间来分配子节点
这个图解释的很清楚,这个就是3阶的B树,非叶子节点有2个数据和3个指针组成
B树有一个性质就是所有叶子节点都在同一层,这个看一下第一篇参考文章中有一个gif,就可以理解的很清楚B树是怎么平衡的了
查找的时候在节点上进行二分搜索,查找对应的区间,然后不断寻找需要的数据
B+树是针对B树在计算机上的优化
主要是针对磁盘IO的优化,B+树的非叶子节点不储存数据,让数据在都储存在叶子节点中,这样不需要太多次的磁盘IO,并且可以方便支持区间查询,数据的分布在内存中也是连续的
注意到叶子节点是链式结构,叶子节点都是连在一起的,这样加大了区间访问的效率