根据m阶B树定义,
根结点至多有m棵子树,即至多有m-1个关键字
若根结点不是终端结点,则至少有2棵子树
除根以外的所有非叶结点至少有⌈ m/ 2 ⌉ 棵子树,即结点内至少含有⌈ m/ 2 ⌉ − 1 个关键字
然后我们就有了必须有有一个终端结点内有m-1个关键字#误区,它是天花板不是必须,类似保守估计吧,符合定义的可以往大了说,也可以刚好#,才能使得终端结点有五个叶子。(B树区别了终端结点和叶子结点,高度不计叶子)。看教材,有的算这个高度,408不算。
在一棵具有15个关键字的4阶B树中,含关键字的结点个数最多是#15#个(满二叉树符合定义)。
这么说n=15,m=3也满足,答案是一样的。
要不换一个思路:等价转换问题
结点数最多,即求最大高度,它一定是满二叉树(为什么,因为叶子结点(n+1个失败结点)必须在同一高度)。
H=以2为底⌈ m/ 2 ⌉=2,log16 +1=5;
因为关键字数固定,求结点数数最多,所以以最小分配,刚好是高度为5的满二叉树,有15个。
字丑,见谅。
点个赞再走。