B+树的定义
假定,就像二叉搜索树和红黑树一样,任何和关键字相联系的“卫星数据(stetellite infromation)"将与关键字一样放在同一节点(node)。实际上,可能只是为每个关键字存放一个指针,这个指针指向存放该关键字的“卫星数据”的磁盘页面(注:磁盘页面指的是实际数据)。
B树是具有以下性质的有根树:
1,每个节点(node)有以下性质:
a, x.n,当前储存在节点x中的关键字的个数,
b, x.n个关键字按照 x.key1 <= x.key2 <= x.key3......
c, x.leaf,一个bool值,如果x是叶节点,则为true,如果x为内部节点则为false;
2,每个内部节点x还包括x.n+1个指向其他孩子的指针x.C1, x.C2, x.C3....x.Cn+1.叶节点没有孩子,所以他们的C1属性没有定义.
3,关键字x.keyi对储存在各子树中的关键字范围加以分割:如果ki为任意储存的在x.Ci为根的子树的关键字,那么k1 <= x.key1 <= k2 <= x.key2 <= .....<=x.key x.n <=k n+1
4,每个叶节点具有相同的深度,即树的高度h。
5,每个节点所包含的关键字个数有上届和下届。