18.2-1
18.2-2
B-TREE-INSERT
调用B-TREE-INSERT-NONFULL
,也可能调用B-TREE-SPLIT-CHILD
,B-TREE-INSERT-NONFULL
可能调用B-TREE-INSERT-NONFULL
和B-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
不是叶结点,返回
2) 若
x
是叶结点并且
18.2-4
n−2lg(n+1)
(网上找的,不知道正确性)
18.2-5
略
18.2-6
while
循环是
lgt
,总时间
O(t·h)=O(lgt·logtn)=O(lgn)
18.2-7
一棵具有
n
个结点且度为