数据结构:B树与B+树

工具

数据结构与算法可视化在线演示

m阶 B树有以下特点:

B-树,有时又写为B_树(其中的-或者_只是连字符,并不读作 B减树),一颗 m 阶(或度)的 B-树,或者本身是空树,否则必须满足以下特性:

  1. 结点点数量要求:除根结点之外,所有非叶子结点的子树数在[2,m]区间,即:

    1. 树中每个结点至多有 m 棵子树;
    2. 若根结点不是叶子结点,则至少有两棵子树;
  2. 结点半满要求:除根之外的所有非叶子结点至少有 ⌈m/2⌉ 棵子树,要求结点半满,保证B树不会退化成简单地二叉树

  3. 结点中关键字数要求:有n个子结点的非叶子结点恰好包含有n-1个关键字,(数量关系犹如一个西瓜切两半,只需要关键的一刀 ,一分为二),取值范围是:⌈m/2⌉-1≤ n ≤m-1

数据项 P 0 P_0 P0 K 1 K_1 K1 P 1 P_1 P1 K 2 K_2 K2 P 2 P_2 P2 K n K_n Kn P n P_n Pn
描述指针关键字 1指针关键字 2指针关键字 n指针

P 0 P_0 P0 K 1 K_1 K1 P 1 P_1 P1 K 2 K_2 K2 P 2 P_2 P2,…, P n P_n Pn K n K_n Kn

  • K i K_i Ki (i 从 1 到 n)为关键字,且 K i K_i Ki < K i + 1 K_{i+1} Ki+1
  • P i P_i Pi 代表指向子树根结点的指针,且:
    • 指针 P i − 1 P_{i-1} Pi1 所指的子树中所有结点的关键字都小于 K i K_i Ki
    • P n P_n Pn 所指子树中所有的结点的关键字都大于 K n K_n Kn

在这里插入图片描述

B+树的特点

m阶 B+树有以下特点(基于 B 树的改版):

  1. 所有的叶子结点中包含了全部关键字的信息,及指向含这些关键字记录的指针,且叶子结点本身依关键字的大小自小而大顺序链接。
  2. 所有的叶子结点在相同的深度上,时间复杂度 O ( l o g n ) O(log^n) O(logn)
  3. 数据项存储在树叶上,也就是存储在叶子结点上。
  4. 非叶子结点存储直到 m-1 个关键字以指示搜索的方向,且关键字 K i K_i Ki < K i + 1 K_{i+1} Ki+1

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值