B树如下:
B树可以在精准查找的情况下,进行少量的磁盘IO,但是它依然有着缺陷,那就是无法进行范围查找。
这种数据结构如果想进行范围查找必须递归节点。
而B+树就可以解决上述这个问题。
它有以下特点:
1.其定义基本与B-树同,除了:
2.非叶子结点的子树指针与关键字个数相同;
3.非叶子结点的子树指针P[i],指向关键字值属于[K[i], K[i+1])的子树
5.为所有叶子结点增加一个链指针;
6.所有关键字都在叶子结点出现;
如下图:3阶B+树
它将叶子节点连在了一起,那么按范围来查,就不需要递归节点,而是使用叶子节点。
它还可以不通过根节点而是使用叶子节点来进行二分查找。