《算法导论》笔记 第18章 18.1 B树的定义

【笔记】

一棵B树T是具有以下性质的有根树:

1) 每个节点x有以下域:

a) n[x],当前存储在结点x中的关键字数

b) n[x]个关键字本身,以非降序存放

c) leaf[x]一个布尔值,如果x是叶子的话,它为TRUE

2) 每个结点x还包含n[x]+1个指向其子女的指针c_1[x],c_2[x],…,c_{n[x]+1}[x]。

3) 个关键字key_i[x]对储存在各子树中的关键字范围加以分割。

4) 每个叶结点具有相同的深度,即树的高度h。

5) 每个叶结点包含的关键字数有一个上下界。用最小度数t>=2来表示。

a) 非根的结点至少有t-1个关键字,非根的内结点至少有t个子女。非空树的根结点至少有一个关键字。

b) 每个结点可包含至多2t-1个关键字。

t=2时,2-3-4树。

B树的高度

如果n>=2,则对任意一棵包含n个关键字、高度为h、最小度数t>=2的B树T,有:h <= log_t { (n+1)/2 } 

【练习】

18.1-1  为什么不允许B树的最小度数T为1?

若度为一,则至少有0个关键字,至多有1个关键字,就是个链。

18.1-2 t应取什么样的值,才能使图中的树是棵合法的B树。

图中至少有2个子女,最多有4个子女。因此t=2。

18.1-3 请给出表示{1,2,3,4,5}的最小度数为2的所有合法的B树。

略。

18.1-4 一棵高度为h的B树中,可以存储最多多少个关键字?用最小度数t函数表示。

18.1-5 如果红黑树中的每个黑结点吸收它的红子女,并把它们的子女并入自身,描述这个结果的数据结构。

黑结点至多有两个红子女。每个子女最多带来一个分支。

因此是一棵至多有3个关键字,4个子女的树。

    原文作者:B树
    原文地址: https://blog.csdn.net/cyendra/article/details/24720167
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞