数据结构之B+树
title: 数据结构之B+树 date: 2018-11-04 20:39:00 tags: 数据结构与算法之美 一棵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+树也是同样的理解。 设关键字的总数为 N ,求 m阶 B- 树的最大层次 L。 在实际的文件系统中,基本上不使用B_树,而是使用B_树的一种变体,称为m阶B+树。 它与B-树的主要不同是叶子结点中存储记录。在B+树中,所有的非叶子结点可以看成是索引,而其中的关键字是作为“分界关键 字”,用来界定某一关键字的记录所在的子树。一棵m阶B+树与m阶B-树的主要差异是: 1.若一个结点有n棵子树,则必含有n个关键字; 2