B树即是balance tree, 二叉搜索树.
B树在多次插入删除后, 复杂度有可能会退化, 最终退化到线性时间复杂度, 因此, 需要通过类似AVL树算法对B树进行维护.
B-树是一种平衡的多路查找树, B-树的所有节点的孩子节点数最大值称为B-数的阶, 用m表示. 一个节点有k个子节点, 那么自身有k-1个关键字.
B-树中, 元素的添加删除可能会导致节点的拆分合并. B-树通过约束所有叶子节点在相同深度来保持平衡. 深度在元素添加至树的过程中缓慢增长, 而整体深度极少的增长.
B+树和B-树类似, 但是有几点不同: