B数(B-树)简介

        先说明一点:B-树就是B树(不是B减树,没有这东西)。

1.B-树的基本概念

        B-树的阶数:树的所有结点中孩子结点个数的最大值(也就是B-数的最大的分支数),通常用m表示。

        一颗m阶B树,它要满足以下条件:
1.每个结点最多拥有m个分支(字数)。最少分支数要看是否为根节点:根结点至少拥有两颗子树;除了根结点以外,其余每个分支结点至少拥有ceil(m/2)颗子树。(ceil:代表向上取整数)。
2.结点的分支数等于关键字数+1,关键字按照递增顺序进行排序。
3.所有的叶子结点都在同一层上。可以用空指针表示,是查找失败到达的位置。
4.关键字数量满足ceil(m/2)-1<=n<= m-1


        看完B-树的特征不能完全理解,举个例子说一下:上图是一颗B-树(箭头我没标完,前两层其实都带箭头),最下边的一层是叶子节点没有显示。对B-数的特点进行解释:
1)最大的分支数就是B-数的阶数,所以上图B-树最大阶数是5(loru有五个分支最大)。除了根结点以外,其余每个结点至少要有(5/2)=3个分支(或者3颗子树)。
2)如果根节点没有关键字就没有分支,此时B-树是空树。
3)上图中除根结点外,结点中的关键字个数至少为2(至少3个分支,因为分支数等于关键字数+1),结点内关键字都是有序的,并且在同一层中,左边结点内所有关键字均小于右边结点内的关键字,例如,第二层上的两个结点,左边结点内的关键字为c,f,他们均小于右边结点内的关键字l、o、r、u.
        B-树一个很重要的特征是,下层结点内的关键字取值总是落在由上层结点关键字所划分的区间内,具体落在哪个区间内可以由指向它的指针看出。例如,第二层最左边的结点内的关键字划分了三个区间,小于c,c到f,大于f,可以看出其下层中最左边结点内的关键字都小于c,中间结点的关键字在c和f之间,右边结点的关键字大于f.
4)上图中的叶子结点都在第四层上,代表查找不成功的位置。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值