关注
http://blog.csdn.net/v_JULY_v/article/details/6530142/ 3.4B树的高度 根据上面的例子我们可以看出,对于辅存做IO读的次数取决于B树的高度。而B树的高度由什么决定的呢? 若B树某一非叶子节点包含N个关键字,则此非叶子节点含有N+1个孩子结点,而所有的叶子结点都在第I层,我们可以得出: 因为根至少有两个孩子,因此第2层至少有两个结点。 除根和叶子外,其它结点至少有┌m/2┐个孩子, 因此在第3层至少有2*┌m/2┐个结点, 在第4层至少有2*(┌m/2┐^2)个结点, 在第 I 层至少有2*(┌m/2┐^(l-2) )个结点,于是有: N+1 ≥ 2*┌m/2┐I-2; 考虑第L层的结点个数为N+1,那么2*(┌m/2┐^(l-2))≤N+1,也就是L层的最少结点数刚好达到N+1个,即: I≤ log┌m/2┐((N+1)/2 )+2; 所以 当B树包含N个关键字时,B树的最大高度为l-1(因为计算B树高度时,叶结点所在层不计算在内),即:l - 1 = log┌m/2┐((N+1)/2 )+1。 这个B树的高度公式从侧面显示了B树的查找效率是相当高的。 曾在一次面试中被问到,一棵含有N个总关键字数的m阶的B树的最大高度是多少?答曰:log_ceil(m/2)(N+1)/2 + 1 (上面中关于m阶B树的第1点特性已经提到:树中每个结点含有最多含有m个孩子,即m满足:ceil(m/2)<=m<=m。而树中每个结点含孩子数越少,树的高度则越大,故如此)。在2012微软4月份的笔试中也问到了此问题。
查看原帖
点赞 1
相关推荐
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
311667次浏览 2846人参与
# 海康威视求职进展汇总 #
399642次浏览 3406人参与
# 阿里云管培生offer #
34307次浏览 414人参与
# 地方国企笔面经互助 #
4088次浏览 11人参与
# 学历or实习经历,哪个更重要 #
52125次浏览 412人参与
# 选完offer后,你后悔学本专业吗 #
20712次浏览 148人参与
# 百度开奖 #
171223次浏览 1066人参与
# 如何一边实习一边秋招 #
993416次浏览 12646人参与
# 正在实习的你,几点下班 #
52573次浏览 394人参与
# 米哈游求职进展汇总 #
176484次浏览 1461人参与
# 美的求职进展汇总 #
206887次浏览 1619人参与
# 2023毕业生求职有问必答 #
120809次浏览 1302人参与
# 国央企薪资爆料 #
9761次浏览 75人参与
# 投递实习岗位前的准备 #
1180516次浏览 18400人参与
# 机械制造秋招总结 #
30327次浏览 353人参与
# 机械制造面试记录 #
149603次浏览 1931人参与
# 求职遇到的搞笑事件 #
71120次浏览 577人参与
# 如果不工作真的会快乐吗 #
59931次浏览 525人参与
# 得物求职进展汇总 #
66772次浏览 685人参与
# 0offer是寒冬太冷还是我太菜 #
900332次浏览 8017人参与
# 腾讯求职进展汇总 #
196373次浏览 1645人参与
# 数据人offer决赛圈怎么选 #
117057次浏览 1468人参与