B+树
1.1B+树的定义
B+树是一种用于数据库索引的数据结构,B + 树是一种多路搜索树,其节点分为根节点、内部节点,叶子节点三类
一棵 m 阶的 B+树或者为空树或者满足以下特性:① 树中的每个节点最多有 m个子树。2. 根节点至少要有2个子树。③ 除根之外的非终端节点‚至少有[m/2] 个子树。 ④ 有 K 个子树的非叶节点恰好包含 K 个关键字。⑤ 所有的非叶子结点包含下列信息数据(P0‚K1‚P1‚ K2‚…‚Pn-1‚Kn)‚其中‚Ki(i =1‚2‚…‚n) 为关键字‚且 Ki < Ki+1;Pi(i =0‚1‚…‚n) 为指向子树根结点的指针
1.2 B+树的特点
① 有 n棵子树的节点中含有 n 个关键字。②所有的叶子结点中包含了全部关键字
的信息且叶子节点本身依关键字的大小而自小到大的顺序链接。③所有非叶子结点可以看成是索引部分‚结点中仅含有其子树中的最大 (最小) 关键字。
1.3 B+树的查询
如果要查找关键字为 K 的所有记录‚那么先在根节点中查找大于 K 的最小查找关 键字 Ki‚然后沿着 Ki 左边的指针 Pi-1 到达第2层的节点;如果 K 大于根节点中的所有关键字‚则沿着指 针 Pn 到达第2层的节点。在第2层的节点中‚用类似的方法找到一个指针进入第3层的节点‚直到 B +树的叶子节点。在叶子节点中找到一个指针指向数据文件的记录。
1.4 B+树的插入与删除