CLRS 18.2B树上的基本操作

18.2-1
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

18.2-2
B-TREE-INSERT调用B-TREE-INSERT-NONFULL,也可能调用B-TREE-SPLIT-CHILDB-TREE-INSERT-NONFULL可能调用B-TREE-INSERT-NONFULLB-TREE-SPLIT-CHILD
DISK-WRITE只发生在下列情况:
1) B-TREE-SPLIT-CHILD,更新父结点和其孩子结点
2) B-TREE-INSERT-NONFULL,插入到叶结点。

DISK-READ只发生在下列一种情况:B-TREE-INSERT-NONFULL,沿着树一直向下查找关键字。
所以不会冗余。

18.2-3
沿着左子树一直往下的最后一个结点的第一个关键字就是最小关键字。
查找关键字 x.keyi 的前驱:
1) 若 x 不是叶结点,返回 x 的第 i 个孩子的最大关键字。这也是以 x.ci 为根的子树的最大关键字;
2) 若 x 是叶结点并且 i>1,返回 x 的第 i1 个关键字,即 x.keyi1 ;否则查找上次的结点 y 并且 j>0,使得 x.keyi y.cj 的最左关键字,若 j=1 ,返回 NIL ,不然就返回 y.keyj1

18.2-4
n2lg(n+1) (网上找的,不知道正确性)

18.2-5

18.2-6
while循环是 lgt ,总时间 O(t·h)=O(lgt·logtn)=O(lgn)

18.2-7
一棵具有 n 个结点且度为 t 的 B 树,其高度 h 。对一棵 B 树的操作时间 T=读取磁盘页的时间*读取磁盘页的次数。根据代码可知,读取磁盘页的次数=B树的高度。所以 T=a+bt·h,代入 a,b,h 即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值