A B-tree T is a rooted tree (whose root is root[T]) having the following properties:

1.  Every node x has the following fields:

a.  n[x], the number of keys currently stored in node x,

b.  the n[x] keys themselves, stored in nondecreasing order, so that key1[x] key2[x] ··· keyn[x][x],

c.  leaf [x], a boolean value that is TRUE if x is a leaf and FALSE if x is an internal node.

2.  Each internal node x also contains n[x]+ 1 pointers c1[x], c2[x], …, cn[x]+1[x] to its children. Leaf nodes have no children, so their ci fields are undefined.

3.  The keys keyi[x] separate the ranges of keys stored in each subtree: if ki is any key stored in the subtree with root ci [x], then

k1 key1[x] k2 key2[x] ≤··· keyn[x][x] kn[x]+1.

4.  All leaves have the same depth, which is the tree’s height h.

5.  There are lower and upper bounds on the number of keys a node can contain. These bounds can be expressed in terms of a fixed integer t 2 called the minimum degree of the B-tree:

a.  Every node other than the root must have at least t – 1 keys. Every internal node other than the root thus has at least t children. If the tree is nonempty, the root must have at least one key.

Every node can contain at most 2t – 1 keys. Therefore, an internal node can have at most 2t children. We say that a node is full if it contains exactly 2t – 1 keys

    原文地址: https://blog.csdn.net/swordmanwk/article/details/6546995


电子邮件地址不会被公开。 必填项已用*标注