数据结构之B+树

数据结构之B+树


title: 数据结构之B+树
date: 2018-11-04 20:39:00
tags: 数据结构与算法之美


一、 浅谈B-树索引

1.B-树的特性

一棵m阶B-树,或者是空树,或者是满足以下性质的m叉树

根结点至少有两个分支;

除根以外的非叶结点,每个结点包含分支数范围[[m/2],m],即关键字字数的范围是[[m/2]-1,m-1],其中[m/2]表示取大于等于m/2的最小整数

所有叶子结点都在树的同一层上,并且指针域为空;

所有的非终端结点应包含如下信息: (n,A0,K1,A1,K2,A2,… ,Kn,An),结点内关键字互不相等,且从小到大排列。

解释:
m阶的意思是这颗树最多的分支是多少,每个节点可以包含很多关键字,范围是[[m/2]-1,m-1],比如m为 3,就说明是3阶的B-树,
那么它的树的节点的关键字最少2,最多4个。下面的B+树也是同样的理解。

2.B-树索引结构图

在这里插入图片描述

3.B-树查找代价分析

设关键字的总数为 N ,求 m阶 B- 树的最大层次 L。
在这里插入图片描述

二、 B+树的索引结构

1.B+树特性

在实际的文件系统中,基本上不使用B_树,而是使用B_树的一种变体,称为m阶B+树。 它与B-树的主要不同是叶子结点中存储记录。在B+树中,所有的非叶子结点可以看成是索引,而其中的关键字是作为“分界关键
字”,用来界定某一关键字的记录所在的子树。一棵m阶B+树与m阶B-树的主要差异是:

1.若一个结点有n棵子树,则必含有n个关键字;


2.所有叶子结点中包含了全部记录的关键字信息以及这些关键字记录的指针,而且叶子结点按关键字的大小从小到大顺序链接;
3.所有的非叶子结点可以看成是索引的部分,结点中只含有其子树的根结点中的最大(或最小)关键字。

2.B+树索引结构图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值