十四、Mysql之B-Tree

本文深入解析B树的概念,探讨其作为多路搜索树的特性,包括节点结构、关键字排序及搜索算法,适合数据结构初学者及专业人员阅读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、何为B-Tree?
  B-Tree就是我们常说的B树,没有B减树,它是一种多路搜索树(并不是二叉的);
  B树的特征:
    1、根结点至少有两个子女。
    2、每个中间节点都包含k-1个元素和k个孩子,其中 ceil(m/2) ≤ k ≤ m
    3、每一个叶子节点都包含k-1个元素,其中 ceil(m/2) ≤ k ≤ m
    4、所有的叶子结点都位于同一层。
    5、每个节点中的元素升序排序,节点当中k-1个元素正好是k个孩子包含的元素的值域划分
    6、每个结点的结构为:(n,A0,K1,A1,K2,A2,… ,Kn,An)
    其中,Ki(1≤i≤n)为关键字,且Ki<Ki+1(1≤i≤n-1)。 Ai(0≤i≤n)为指向子树根结点的指针。且Ai所指子树所有结点中的关键字均小于Ki+1。 n为结点中关键字的个数,满足ceil(m/2)-1≤n≤m-1。
    7、非叶子结点的关键字个数=指向儿子的指针个数-1
  简诉:
  B-tree中,每个结点包含:
  1、结点所含关键字的个数;
  2、指向父结点的指针;
  3、关键字(下图中的数字);
  4、指向子结点的指针(下图中含p的);
如图:

图中:数字表示关键字,p表示指针,data表示除关键字外的信息

B树的搜索:从根结点开始,对结点内的关键字(有序)序列进行二分查找,如果命中则结束,否则进入查询关键字所属范围的儿子结点;重复,直到所对应的儿子指针为空,或已经是叶子结点;即B树的查找过程是一个顺指针查找结点和在结点的关键字中进行查找的交叉进行的过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值