B-tree
https://openlearnware.tu-darmstadt.de/#!/resource/btrees-2134 http://huffmann.algo.informatik.tu-darmstadt.de/wiki/wiki.algo.informatik.tu-darmstadt.de/index.php/B-tree.html
General information
Abstract data structure: Sorted sequence
Implementation Invariant:
- There is a number [math]\displaystyle{ M\in\mathbb{N} }[/math], [math]\displaystyle{ M\gt 1 }[/math], which is specific for the B-tree object and is constant throughout the life time of the B-tree object. This value [math]\displaystyle{ M }[/math] is called the order of the B-tree.
- A B-tree of order [math]\displaystyle{ M }[/math] is a multi-way search tree with [math]\displaystyle{ 2M-1 }[/math] slots for keys and, consequently, [math]\displaystyle{ 2M }[/math] slots for children pointers, in each node.
- The slots for keys are denoted keyskeys.
- The slots for children are denoted childrenchildren.
- The attribute stores the number of filled key slots.
- In each tree node except for the root, it is ; for the root, it is .
- The filled key slots are the ones at positions ; the filled child slots are the ones at positions (except for leaves, of course, where no child slot is filled at all).
- The keys appear in ascending order in a B-tree node, that is, keyskeys for all .
- The children pointers appear in the order as used in the definition of multi-way search trees. In other words, for , the range of the node to which points is
- for ;
- for ;
- for .
- All leaves of a B-tree are on the same height level.