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)每个结点的结构为:

n k1 k2 ... kn
p0 p1 p2 ... pn

其中,n为该结点中关键字的个数;ki为该结点的关键字且满足ki<ki+1;pi为该结点的孩子结点指针且满足pi所指结

点上的关键字大于ki且小于ki+1,p0所指结点上的关键字小于k1,pn所指结点上的关键字大于kn。

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

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

你会发现B树也是一个平衡树,而且要求更高,它要求所有叶子几点在同一层上。

B树的应用场景:

B树又称为多路查找树,由于树的高度较低,查找删除等工作效率会很高,一般可以用于数据库的索引,大大提高

磁盘I/O的效率。

B树或者B+树也会用在文件管理中

注意:B+树是B树的升级版,更适合建立索引和用来做文件管理。

1:B+树只有叶子结点才存储数据,其他的结点只是存储了指向孩子结点的指针,结点小,磁盘I/O就少。

2:B+树还有优化就是会把所有叶子结点用指针穿起来,通过遍历就能得到所有结点的值。

B树的操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值