c语言数据结构 什么叫 最下层的非叶结点 b树里的

Python029

c语言数据结构 什么叫 最下层的非叶结点 b树里的,第1张

在b树种,当在叶子结点处于第L+1层的B树中插入关键字时,被插入的关键字总是进入第L层的结点。

b树中所有叶子结点都在同一层,并且不带任何信息。

所以你所说的最下层的非叶子节点是不是代表倒数第二层的能插入关键字的那一层,你是想要进行删除操作吗?

3)第一次找到54

第二次找到77

第三次找到95

第四次找到85

答案B

5)

一棵m阶B树(balanced tree of order m)是一棵平衡的m路搜索树。它或者是空树,或者是满足下列性质的树:

1、根结点至少有两个子女;

2、每个非根节点所包含的关键字个数 j 满足:┌m/2┐ - 1 <= j <= m - 1;

3、除根结点以外的所有结点(不包括叶子结点)的度数正好是关键字总数加1,故内部子树个数 k 满足:┌m/2┐ <= k <= m ;

4、所有的叶子结点都位于同一层。

由3、m=7时,每个非根节点所包含的关键字个数为3~6个。

答案A

个人感觉这题其实可参照数据库索引的处理方式来思考。很多数据库的索引都采用B-tree来实现,所以估计对100万行级别的数据,索引采用这种数据结构是综合考虑后的最佳选择(但我确实不知正确答案,也说不出详细理由,仅提个思路供参考)。楼主不妨从这个角度切入,分析B树和其它选项的特点,结合应用要求来选择。进一步还可对此实际问题尝试在数据库中建立测试表,结合实测数据来比较自己C语言实现的效率。不求采纳,只是有兴趣参与讨论。