算法——B树.pptx

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

算法设计与分析;纲要;至今为止,搜索树是仅仅在内存里面的数据结构。 前提: 内存可以容纳搜索树中的数据集 (包括树的负载) 反例: 银行中的交易数据 每天 1 GB 每天增加 1GB 内存 ( 电源故障?) 使用二级存储设备 (穿孔卡, 硬盘, 磁带,等等.) 要求: 使搜索树结构必须能使用二级存储设备。;硬盘 I;硬盘 II;算法分析 ;原则;原则 (2);B树定义;B树定义 (2);B树:定义 (3);高度为 h的B树 T, 以下对高度的限制成立: ;二叉树与B树对比;比较红黑树和B树 高度均为 O(log n) 红黑树对数的基为2 B树的基为~1000 树的高度相关的差异是 lg t 当 t=2时, B树是 2-3-4树 (它表示的是红黑树)!;B树操作;搜索;创建一棵空树;分裂节点;分裂节点 (2);分裂节点 (2);分裂:运行时间;插入键;插入键 (2);将根节点分裂需要创建新的节点 树从顶部,而不是底部增长。;插入键 ;;插入: 举例;插入: 举例 (2);插入: 运行时间;删除键; 情况 1: 如果键k在节点x中, 并且x是叶子, 从x中删除k;删除键 (3);删除键 (4);沿着树下降: 如果在当前节点x找不到k ,查找必定包含k的子树ci[x]. 如果ci[x]仅有t – 1个键,需要采取措施保证我们下降碰到的节点的大小至少是t. 我们可能碰到两种情况. 如果 ci[x] 仅有 t-1 个键, 但是一个兄弟至少有 t 个键, 从x移动一个键给 ci[x]使它多一个键, 从ci[x]的相邻的左右兄弟移动一个键给 x, 并且从兄弟中移动适当的孩子给ci[x] – 分布 ;删除键 – 分布(2);删除键 – 合并;树的高度tree shrinks in height;删除: 运行时间;两遍操作;其他存取方法;

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档