`
luozhong915127
  • 浏览: 188776 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
文章分类
社区版块
存档分类
最新评论

B树第末节学习(高度及性能分析)

阅读更多

B-树的高度及性能分析 

     B-树上操作的时间通常由存取磁盘的时间和CPU计算时间这两部分构成。B-树上大部分基本操作所需访问盘的次数均取决于树高h。关键字总数相同的情况下B-树的高度越小,磁盘I/O所花的时间越少。

 

     与高速的CPU计算相比,磁盘I/O要慢得多,所以有时忽略CPU的计算时间,只分析算法所需的磁盘访问次数(磁盘访问次数乘以一次读写盘的平均时间(每次读写的时间略有差别)就是磁盘I/O的总时间)。

 

1B-树的高度

     定理9.1 n≥1m≥3,则对任意一棵具有n个关键字的mB-树,其树高h至多为:logt((n+1)/2)+1

 

这里t是每个(除根外)内部结点的最小度数,即t=[m/2]

         

     由上述定理可知:B-树的高度为O(logtn)。于是在B-树上查找、插入和删除的读写盘的次数为O(logtn)CPU计算时间为O(mlogtn)

 

2、性能分析

 

  n个结点的平衡的二叉排序的高度H(即lgn)比B-树的高度h约大lgt倍。

     【例】若m=1024,则lgt=lg512=9。此时若B-树高度为4,则平衡的二叉排序树的高度约为36。显然,若m越大,则B-树高度越小。

若要作为内存中的查找表,B-树却不一定比平衡的二叉排序树好,尤其当m较大时更是如此。

  因为查找等操作的CPU计算时间在B-树上是

        O(mlogtn)=0(lgn·(m/lgt))

 

m/lgt>1,所以m较大时O(mlogtn)比平衡的二叉排序树上相应操作的时间O(lgn)大得多。因此,仅在内存中使用的B-树必须取较小的m。(通常取最小值m=3,此时B-树中每个内部结点可以有23个孩子,这种3阶的B-树称为2-3树)。

 

B+       

B+树是B-树的变体,也是一种多路搜索树:

       

1.其定义基本与B-树同,除了非叶子结点的子树指针与关键字个数相同;       

2.非叶子结点的子树指针P[i],指向关键字值属于[K[i], K[i+1])的子树(B-树是开区间);

       

 3.为所有叶子结点增加一个链指针;  

  

 4.所有关键字都在叶子结点出现;如:(M=3)。如图:



 

 

 

 B+的搜索与B-树也基本相同,区别是B+树只有达到叶子结点才命中(B-树可以在非叶子结点命中),其性能也等价于在关键字全集做一次二分    查找; 

 

B+的特性: 

1.所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关键字恰好是有序的;

2. 不可能在非叶子结点命中;

 

3.  .非叶子结点相当于是叶子结点的索引(稀疏索引),叶子结点相当于是存储(关键字)数据的数据层; 

4.更适合文件索引系统;

 

 B*       

B+树的变体,在B+树的非根和非叶子结点再增加指向兄弟的指针;  

如图:

 

B*树定义了非叶子结点关键字个数至少为(2/3)*M,即块的最低使用率为2/3(代替B+树的1/2); 

B+树的分裂:当一个结点满时,分配一个新的结点,并将原结点中1/2的数据复制到新结点,最后在父结点中增加新结点的指针;B+树的分裂只影响原结点和父结点,而不会影响兄弟结点,所以它不需要指向兄弟的指针; 

 

 B*树的分裂:当一个结点满时,如果它的下一个兄弟结点未满,那么将一部分数据移到兄弟结点中,再在原结点插入关键字,最后修改父结点中兄弟结点的关键字(因为兄弟结点的关键字范围改变了);如果兄弟也满了,则在原结点与兄弟结点之间增加新结点,并各复制1/3的数据到新结点,最后在父结点增加新结点的指针; 

 

  所以,B*树分配新结点的概率比B+树要低,空间使用率更高; 

 

  • 大小: 37 KB
  • 大小: 41.3 KB
分享到:
评论

相关推荐

    OSPF末节区域优化方法.doc

    OSPF (Open Shortest Path First) 是一种广泛使用的内部网关协议(IGP),用于在自治系统(AS)...在实际网络部署中,根据网络规模和需求,合理规划和利用末节区域及其他优化技术,可以显著提升OSPF网络的运行效率。

    烧伤创疡再生医疗技术治疗手指末节损伤疗效分析.pdf

    综上所述,烧伤创疡再生医疗技术是一种对手指末节损伤具有高度临床价值的治疗手段,尤其在改善愈后皮肤质量、外观、感觉和手指运动功能方面效果显著。随着医疗技术的进步,这种疗法有望在智慧医疗领域得到更广泛的...

    原位再生医疗技术治疗手指末节缺损的临床效果.pdf

    【文章标题】: 原位再生医疗技术在治疗手指末节缺损中的应用与效果分析 【文章摘要】: 本研究旨在探讨原位再生医疗技术在手指末节缺损患者治疗中的应用价值,通过对比传统的清创缝合疗法,结果显示原位再生医疗技术...

    web前端期末节课大作业~html学生信息管理系统模板

    web前端期末节课大作业 ,...有个人中心、我的信息、班级信息、短信息、学院通知、我的异议、教务中心、我的报考、我的成绩、我的书籍、学习中心、资料下载、学习历程、财务中心、我的财务、教学系统等系统功能菜单。

    OSPF学习资料及笔记

    ### OSPF路由协议详解 ...OSPF作为一种高度灵活和强大的路由协议,在现代网络中得到了广泛的应用。通过合理配置OSPF的计时器和正确理解不同网络类型的特点,可以有效优化网络性能,确保数据包能够高效、准确地转发。

    web前端期末节课大作业 ,~小米官网竖直分类导航菜单.zip

    在本项目中,"web前端期末节课大作业 —— 小米官网竖直分类导航菜单.zip" 是一个针对Web前端开发的学习任务,旨在通过模仿小米官网的垂直分类导航菜单来锻炼学生的HTML、CSS以及JavaScript技能。这个作业的核心是...

    web前端期末节课大作业 ~绿色食品网上超市商城HTML模板.zip

    web前端期末节课大作业 ,html+css+javascript实现绿色特产商城购物网HTML模板,DIV+CSS布局,全套模板,包括商城首页、特色产品、产品详情、相关资讯、商城简介、注册、登录等HTML商城模板

    web前端期末节课大作业~自考大学官网HTML模板(功能齐全)

    这个模板对于学习和理解网页制作流程,以及如何创建功能完备的静态网站,是一个很好的实例。在完成此类作业时,开发者需要具备良好的代码组织能力,以及对用户体验的关注,以打造出既美观又实用的网站。

    web前端期末节课大作业 ~HTML学校后台用户登录界面模板.zip

    web前端期末节课大作业 ,html+css+javascript实现~HTML学校后台用户登录界面模板,江西师范大学软件学院毕业设计选题,选项卡切换不同角色的登录,分别是学生登录、导师登录、教务登录,有表单验证功能。

    web前端期末节课大作业~红色教育培训画室HTML网站模板.zip

    web前端期末节课大作业 ,html+css+javascript实现 红色教育培训画室HTML网站模板,DIV+CSS布局设计,全套模板,包括网站首页、画室简介、画室资讯、招生咨询、作品欣赏、艺考成绩、艺考资讯、在线报名、联系我们等...

    web前端期末节课大作业 ~HTML5响应式少儿舞蹈培训学校网站模板.zip

    这个模板具有高度的自适应性,能够良好地在不同分辨率的设备上展示,无论是PC端还是移动端都能提供优秀的用户体验。 一、HTML5技术 HTML5是现代网页开发的标准,引入了新的标签和元素,如、、、等,使网页结构更加...

    web前端期末节课大作业~HTML教育培训机构网站模板(功能齐全)

    web前端期末节课大作业 ,html+css+javascript实现~ (功能齐全)HTML教育培训机构网站模板,DIV+CSS布局,宽屏设计,自适应分辨率,全套模板,包括学院首页、教师风采、课程介绍、推荐阅读、加入我们等网站模板页面。

    web前端期末节课大作业~HTML5大学生网上报到系统响应式模板(功能齐全)

    web前端期末节课大作业 ,html+css+javascript实现~HTML5大学生网上报到系统响应式模板基于Bootstrap3.3.7制作,响应式设计,自适应分辨率,兼容PC端和移动端,全套模板,包括阅读注意事项填写身份证号、大学毕业生...

    web前端期末节课大作业 ~绿色特产商城购物网HTML模板.rar

    ...下面我们将详细探讨这个模板的各个方面。 ...其次,CSS(Cascading Style Sheets)用于控制页面的样式和布局。...无论是作为期末作业,还是毕业设计,都能够帮助学习者巩固基础知识,提升实际操作能力。

    web前端期末节课大作业 ~小米商城官网首页模板. (功能齐全)

    在本项目中,我们主要探讨的是一个基于Web前端技术实现的小米商城官网首页模板,它是一个功能齐全的网页设计,适合用作web前端...无论是学生还是专业开发者,都可以从中学习到如何构建一个功能丰富且具有吸引力的网页。

    举高消防车的制作方法.docx

    第一变幅油缸使得基本臂相对于车体转动,第二变幅油缸控制相邻的中间臂相对于基本臂转动,第三变幅油缸则控制末节臂相对于相邻中间臂转动。这种设计提高了消防工作的效率和稳定性。 在某些实施例中,举高消防车可能...

    OpenCV图像处理编程实例

    第三部分高级篇主要介绍图像应用技术,包括图像分割技术、特征分析和复杂视频处理技术。进阶篇与高级篇的每章末节均提供了与本章内容相关的应用实例,意在让读者更好理解知识点,进而有效地进行图像处理开发。, ...

    《Opencv图像处理编程示例》pdf+代码+数据

    第三部分高级篇主要介绍图像应用技术,包括图像分割技术、特征分析和复杂视频处理技术。进阶篇与高级篇的每章末节均提供了与本章内容相关的应用实例,意在让读者更好理解知识点,进而有效地进行图像处理开发。

Global site tag (gtag.js) - Google Analytics