跳转至

18.1 Definition of B-trees

18.1-1

Why don't we allow a minimum degree of \(t = 1\)?

According to the definition, minimum degree \(t\) means every node other than the root must have at least \(t - 1\) keys, and every internal node other than the root thus has at least \(t\) children. So, when \(t = 1\), it means every node other than the root must have at least \(t - 1 = 0\) key, and every internal node other than the root thus has at least \(t = 1\) child.

Thus, we can see that the minimum case doesn't exist, because no node exists with \(0\) key, and no node exists with only \(1\) child in a B-tree.

18.1-2

For what values of \(t\) is the tree of Figure 18.1 a legal B-tree?

According to property 5 of B-tree, every node other than the root must have at least \(t - 1\) keys and may contain at most \(2t - 1\) keys. In Figure 18.1, the number of keys of each node (except the root) is either \(2\) or \(3\). So to make it a legal B-tree, we need to guarantee that \(t - 1 \le 2 \text{ and } 2 t - 1 \ge 3\), which yields \(2 \le t \le 3\). So \(t\) can be \(2\) or \(3\).

18.1-3

Show all legal B-trees of minimum degree \(2\) that represent \(\\{1, 2, 3, 4, 5\\}\).

We know that every node except the root must have at least \(t - 1 = 1\) keys, and at most \(2t - 1 = 3\) keys. Also remember that the leaves stay in the same depth. Thus, there are \(2\) possible legal B-trees:

  • \[| 1, 2, 3, 4, 5 |\]
  • \[| 3 |\]
    \[\swarrow \quad \searrow\]
    \[| 1, 2 | \qquad\qquad | 4, 5 |\]

18.1-4

As a function of the minimum degree \(t\), what is the maximum number of keys that can be stored in a B-tree of height \(h\)?

\[ \begin{aligned} n & = (1 + 2t + (2t) ^ 2 + \cdots + (2t) ^ {h}) \cdot (2t - 1) \\\\ & = (2t)^{h + 1} - 1. \end{aligned} \]

18.1-5

Describe the data structure that would result if each black node in a red-black tree were to absorb its red children, incorporating their children with its own.

After absorbing each red node into its black parent, each black node may contain \(1, 2\) (\(1\) red child), or \(3\) (\(2\) red children) keys, and all leaves of the resulting tree have the same depth, according to property 5 of red-black tree (For each node, all paths from the node to descendant leaves contain the same number of black nodes). Therefore, a red-black tree will become a Btree with minimum degree \(t = 2\), i.e., a 2-3-4 tree.