全站数据
9 6 1 5 2 8 3

b树与b+树的区别

知书达理爱学习 | 教育先行,筑梦人生!         

B+树和B树相比的主要区别:

1,就是B+树所有关键码都在叶子节点;2,B+树的叶子节点是带有指针的,且叶节点本身按关键码从小到大顺序连接;3,在搜索过程中,如果查询和内部节点的关键字一致,那么搜索过程不停止,而是继续向下搜索这个分支。

B树就是B-树吗

B树就是B-树,等价的,一般都说是B树,B+树是B树的一种变形,B+树和B树他们之间有区别。

通常表示B-树B*-树B+-树中的“-”是英文中的连词符号,没有实在的意义。所以B树就是B-树。

B树的基本概念

B-树中所有结点中孩子结点个数的最大值成为B-树的阶,通常用m表示,从查找效率考虑,一般要求m>=3。一棵m阶B-树或者是一棵空树,或者是满足以下条件的m叉树。

1)每个结点最多有m个分支(子树);而最少分支数要看是否为根结点,如果是根结点且不是叶子结点,则至少要有两个分支,非根非叶结点至少有ceil(m/2)个分支,这里ceil代表向上取整。

2)如果一个结点有n-1个关键字,那么该结点有n个分支。这n-1个关键字按照递增顺序排列。

3)每个结点的结构为:

nk1k2...kn
p0p1p2...pn

其中,n为该结点中关键字的个数;ki为该结点的关键字且满足ki<ki+1;pi为该结点的孩子结点指针且满足pi所指结点上的关键字大于ki且小于ki+1,p0所指结点上的关键字小于k1,pn所指结点上的关键字大于kn。< p="">

4)结点内各关键字互不相等且按从小到大排列。

5)叶子结点处于同一层;可以用空指针表示,是查找失败到达的位置。

猜你喜欢内容

更多推荐