B树的概念

基本概念

B树,又称多路平衡查找树(绝对平衡,无高度差),B树中所有结点的孩子个数的最大值称为B树的阶,通常用表示。一棵m阶B树或为空树,或为满足如下特性的m叉树:
在这里插入图片描述

  1. 根结点的子树数∈[2,m]\in[2,m][2,m];根结点的关键字数∈[1,m−1]\in[1,m-1][1,m1]。其他结点的子树数∈[⌈m/2⌉,m]\in[\lceil m/2\rceil,m][⌈m/2,m];其他结点的关键字数∈[⌈m/2⌉−1,m−1]\in[\lceil m/2\rceil-1,m-1][⌈m/21,m1]
    (包括失败结点也成立)
  2. 对于任一结点,其所有子树高度都相同
  3. 关键字的值:子树0<关键字1<子树1<关键字2<子树2<…(类比二叉查找树 左<中<右)
  4. 所有叶子结点均不带信息(为失败结点)

B树的高度问题

含n个关键字的m阶B树,最小、最大高度是多少?(此处n个关键字为总关键字数)
在这里插入图片描述

  1. 最小高度
    让所有结点尽可能满
    →\rightarrow 每个结点的关键字数都为m-1
-root第2层第3层第h层
结点数1mm2m^2m2mi−1m^{i-1}mi1

则高度为h的m阶B树,最多总关键字数为
(m−1)(1+m+m2+..mh−1) (m-1)(1+m+m^2+..m^{h-1}) (m1)(1+m+m2+..mh1)
n≤(m−1)(1+m+m2+..mh−1) n\leq(m-1)(1+m+m^2+..m^{h-1}) n(m1)(1+m+m2+..mh1)
h≥logm(n+1) h\geq log_m(n+1) hlogm(n+1)

  1. 最大高度
    让所有结点仅可能的空,分叉尽可能的少
-root第2层第3层第h层
结点数122*⌈m/2⌉\lceil m/2 \rceilm/22*(⌈m/2⌉)h−2(\lceil m/2 \rceil)^{h-2}(⌈m/2)h2

第h+1层(叶子结点)失败结点共有2∗(⌈m/2⌉)h−12*(\lceil m/2 \rceil)^{h-1}2(⌈m/2)h1

又因为n个关键字(总)的B树一定有n+1个叶子结点(理解为[−∞,+∞][-\infty,+\infty][,+]被n个关键字切分为n+1个区域)

n+1≥2∗(⌈m/2⌉)h−1 n+1\geq2*(\lceil m/2 \rceil)^{h-1} n+12(⌈m/2)h1

h≤log⌈m/2⌉n+12+1 h\leq log_{\lceil m/2\rceil}{n+1\over 2}+1 hlogm/22n+1+1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快苏排序OAO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值