《算法导论3rd第十八章》B树

前言

B树在2-3树的基础上演变而来,为磁盘存储还专门设计的平衡查找树。

B树的定义

B树-树的定义

练习

在这里插入图片描述

1-1

若t=1,树中的结点最少有0个关键字,就没有意义了

1-2

根据定义5得
t − 1 ≤ 2  and  2 t − 1 ≥ 3 t - 1 \le 2 \text{ and } 2 t - 1 \ge 3 t12 and 2t13
t = 2 or 3.

1-3

在这里插入图片描述

1-4

在这里插入图片描述

1-5

(略)

B树上的基本操作

B树的基本操作如B-TREE-SEARCH, B-TREE-CREATE和B-TREE-INSERT
B树-基本操作

练习

在这里插入图片描述

2-1

在这里插入图片描述

2-2

父节点末满,子节点满

  • DISK-READ: Key placement
  • DISK-WRITE: Split nodes
  • DISK-READ: Get to the parent
  • DISK-WRITE: Fill parent

2-3

类似于红黑树中的找前驱和后继的操作,(略)

2-4

(略)

2-5

生成内结点的途径是一个结点分裂之后其中一个关键字上升得到的,即使叶结点的度t2比内结点的度t大很多,也不用担心一个叶结点分裂成几个内结点的情况。大部分程序不用改变,区别仅在于

  1. 叶结点和内结点的分裂条件不同
  2. 分裂后叶结点和内结点需要复制的关键字数不同

2-6

  1. B树高度 h ≤ l o g t n + 1 2 h \le log_t{n+1 \over 2} hlogt2n+1,即 O ( h ) = O ( l o g t n ) O(h) = O(log_tn) O(h)=O(logtn)
  2. 节点长度最长为2t-1,即O(lgt)
  3. 时间复杂度为 O ( l o g t n ∗ l g t ) = O ( l g n ) O(log_tn * lgt) = O(lgn) O(logtnlgt)=O(lgn)

2-7

对一棵B树的操作时间T=读取磁盘页的时间*读取磁盘页的次数。
在这里插入图片描述

从B树中删除关键字

B树-删除

练习

在这里插入图片描述

3-1

在这里插入图片描述

3-2

B树-删除

主要参考

B-Trees
第18章 B树

Supongo que te gusta

Origin blog.csdn.net/y3over/article/details/121855949
Recomendado
Clasificación