网站大量收购独家精品文档,联系QQ:2885784924

《算法导论》第18章 B树.pptx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

B树

B树(B-tree、B-树)

B树和红黑树的关系本段文字摘录于《算法导论第三版》第十三章本章注记部分,第192页。

n阶B树的性质(n=2)假设一个节点存储的元素个数为x,则1、根节点:1=x=n-12、非根节点:ceil(n/2)–1=x=n–1如果有子节点,子节点个数y=x+1,则1、根节点:2=y=n2、非根节点:ceil(n/2)=y=n比如n=3,2=y=3,因此可以称为(2,3)树、2-3树比如n=4,2=y=4,因此可以称为(2,4)树、2-3-4树比如n=5,3=y=5,因此可以称为(3,5)树比如n=6,3=y=6,因此可以称为(3,6)树比如n=7,4=y=7,因此可以称为(4,7)树

B树的有哪些信誉好的足球投注网站B树的有哪些信誉好的足球投注网站跟二叉有哪些信誉好的足球投注网站树的有哪些信誉好的足球投注网站类似,只不过分叉比二叉有哪些信誉好的足球投注网站树更多1、先在节点内部从小到大开始查找元素2、如果找到了,查找结束3、如果没有找到,再到对应的子节点继续查找元素,重复步骤1

B树元素的添加新添加的元素必定是添加到叶子节点。插入52插入101假设再插入102,则最右边的叶子节点的元素个数将超过4阶B树的限制,这种现象我们称之为上溢出。

添加元素-上溢的解决n阶B树上溢节点的元素个数必然等于n。上溢的解决办法:1、假设上溢节点最中间元素的位置为k,则可以1.1将k位置的元素向上与父节点合并1.2将[0,k-1]和[k+1,n-1]位置的元素分裂成两个子节点,此时这两个子节点的元素个数,必然都不会低于最低限制(ceil(n/2)-1)2、一次分裂完毕后,有可能导致父节点上溢,依然按照上述方法解决。最极端的情况,有可能一直分裂到根节点。

删除叶子节点如果需要删除的元素在叶子节点中,那么可以直接删除元素。删除56。

删除非叶子节点元素假如需要删除的元素在非叶子节点中。1、先找到前驱或者后继元素,用前驱或者后继元素的值覆盖需要删除元素的值2、再把前驱或后继元素删除删除19非叶子节点的前驱或后继元素,必定在叶子节点中所以其实删除非叶子节点元素最终一定能转换成删除在叶子节点中的元素

删除-导致下溢一颗5阶B树,要删除元素28叶子节点被删掉一个元素后,元素个数可能会低于最低限制(=ceil(n/2)-1)这种现象称为:下溢

删除-下溢的解决(1)下溢节点的元素数量必然等于ceil(n/2)-2如果下溢节点临近的兄弟节点,有至少ceil(n/2)个元素,可以向其借一个元素1、将父节点的元素b插入到下溢节点的0位置(最小位置)2、用兄弟节点的元素a(最大的元素)替代父节点的元素b这种操作其实就是:旋转

删除-下溢的解决(2)如果下溢节点临近的兄弟节点,只有ceil(n/2)-1个元素1、将父节点的元素b挪下来跟左右子节点进行合并2、合并后的节点元素个数等于ceil(n/2)+ceil(n/2)–2,不超过n-1这个操作可能会导致父节点下溢,依然按照上述方法解决,下溢现象可能会一直往上传播

谢谢!

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档