TIPS:考研中一般情况下对B+树的考查不会太深入,一般都只考察一些概念性的东西,可能会跟B树进行对比。
一颗M阶的B+树一般需要满足如下条件:
1,每个分支结点,最多有M棵子树。
2,非叶根结点最少有两颗子树,其他每个分支结点至少有[m/2](向上取整)棵子树。
对于非叶根结点,我们需要问,什么是非叶根结点?结论如下图:
当根结点不是叶子结点的时候,其他每个分支至少有[m/2](向上取整)棵子树。上述情况二,就是错误的展示。
这么设计的原因很简单:要追求“绝对”平衡,即所有子树高度要相同。
3,结点的子树个数,与关键字个数相等。
4,所有的叶子结点,包含全部关键字信息,以及指向相应记录的指针,叶子结点将关键字按照大小顺序排列,并且相邻叶结点按照大小顺序互相链接起来。(支持顺序查找)
5,所有的分支结点,仅包含它的各个叶子结点中关键字的最大值以及指向其他子结点的指针。
TIPS:B+树中,无论查找成功与否,最终一定都要走到最下面一层结点。
B树与B+树的简单对比:
B树与B+树的详细对比:
1,M阶B+