关注
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
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
11-03 13:11
广东东软学院 游戏后端
后端转测开第一人:再怎么劝退也没用的 某些群体总以为在一个幸存者偏差的软件上看见了极少数秋招上岸某个大厂的个例就幻想上了 事实上自己打开ssob沟通1000+连个小厂面试都没 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 同bg的你秋招战况如何? #
171986次浏览 1001人参与
# 扒一扒那些奇葩实习经历 #
125586次浏览 1096人参与
# 联影求职进展汇总 #
49977次浏览 320人参与
# 你实习是赚钱了还是亏钱了? #
27150次浏览 225人参与
# 去哪儿求职进展汇总 #
145657次浏览 994人参与
# 用一句话形容你的团队氛围 #
16922次浏览 173人参与
# 360集团校招 #
19120次浏览 146人参与
# 毕业论文进行时 #
5361次浏览 75人参与
# 面对逼签的应对技巧 #
5623次浏览 30人参与
# 我来点评面试官 #
14562次浏览 104人参与
# 牛友的国庆旅行碎片 #
20969次浏览 125人参与
# 今年秋招是回暖还是遇冷 #
28216次浏览 174人参与
# 秋招开始捡漏了吗 #
73362次浏览 514人参与
# 找工作八股要背到什么程度? #
16135次浏览 232人参与
# 三一集团提前批进度交流 #
41479次浏览 229人参与
# 社会教会你的第一课 #
110173次浏览 859人参与
# 工作后,谈恋爱还和学生时代一样吗? #
41116次浏览 377人参与
# 上班后,才发现大学__白学了 #
14356次浏览 100人参与
# 你找工作是从容有余 or 匆忙滚爬? #
10326次浏览 85人参与
# 阿里云工作体验 #
33431次浏览 108人参与
# 你的领导最像哪种动物,为什么? #
25806次浏览 136人参与
# 职场破冰,你们都聊什么? #
30970次浏览 154人参与

