数据结构:这个是B树吗?这个范围我怎么看不懂呢

下面在定义B树中的几个常量

private static final int DEFAULT_T = 5;
/** B树的根节点 */
private BTreeNode<K, V> root;
/** 根据B树的定义,B树的每个非根节点的关键字数n满足(t - 1) <= n <= (2t - 1) */
private int t = DEFAULT_T;
/** 非根节点中最小的键值数 */
private int minKeySize = t - 1;
/** 非根节点中最大的键值数 */
private int maxKeySize = 2 * t - 1;

其中,“B树的每个非根节点的关键字数n满足(t - 1) <= n <= (2t - 1) ”这是什么规定啊?这节点数限定的对么?给我看懵了 这还是B树吗?

第1个回答  2012-11-01
对于M阶B树:
每个节点至多有m个子结点;
除根结点,和叶节点外,每个节点至少有m/2(m是偶数)或是m/2+1(m是奇数)个节点;
那个t变量可能是为了后面的计算方便而设的,
不过如果按照定义的话,M=2*t-1;
M/2应该取值为t 才对吧,而不是t-1
相似回答