B树与B+树
- B-tree被称为B树,常常为误称为B减树,这是不正确的.B树的
①定义任意非叶子节点最多可以有M个子节点;且M>2;
②则根节点的叶子数为:[2,M];
③除根节点为的非叶子节点的儿子数为[M/2,M];
④每个结点存放至少M/2 - 1 (去上整)且至多M -1 个关键字;(至少为2);
⑤非叶子结点的关键字个数 = 指向子节点的指针书 -1;
⑥非叶子节点的关键字:K[1],K[2],K[3],…,K[M-1;且K[i] < K[i +1];
⑦非叶子结点的指针:P[1], P[2], …, P[M];其中P[1]指向关键字小于K[1]的子树,P[M]指向关键字大于K[M-1]的子树,其它P[i]指向关键字属于(K[i-1], K[i])的子树;
⑧所有叶子结点位于同一层;
B树的阶数是有用户自己定义的,若阶数为5,如上图所示,就算是没有用上5个叶子节点,它的阶数依然是5,所以很多说叶子节点的最大个数就是阶数的说法是不正确的.因为有时候我们的叶子节点为空,不显示.
B树的查找方式是由根节点开始,向下查找,如果查到立即结束,信息和数据都是放在一起的,所以关键字只会出现一次.搜索可能没有到达叶子节点就结束了.
- B+tree,又被称为B+树