B树,B+树
B树
定义:
是一种平衡的多路查找树;
一棵二m阶的B树,或为空树,或为满足下列特性的m叉树:
- 树中每个节点至多有m棵子树;
- 若根结点不是叶子结点,则至少有两棵子树;
- 除根之外的所有非终端节点至少有
(向上取整)棵子树;
- 所有的非终端结点红包含下列信息数据
(n,A0,K1,A1,K2,...,Kn,An)
n为关键字个数(n+1为子树个数),Ki为关键字,An为指向子树根节点的指针 - 所有的叶子结点都出现在同一层次上,并且不带信息(可以看做是外部结点或查找失败的节点,实际上这些节点不存在,指向这些节点的指针为空);
B+树
B+树是B树的变型树。他们的差异在于:
- 有n棵子树的结点中含有n个关键字。
- 所有的叶子结点包含了全部关键字信息,及指向含这些关键字记录的指针,且叶子结点本身依关键字的大小自小而大顺序链接。
- 所有的非终端结点可以看成是索引部分,节点中仅含有其子树(根节点)中最大(或最小)关键字