I'm trying to implement a B-Tree according to the chapter "B-Trees" in "Introduction To Algorithms"... what I don't quite get is the "minimal degree"... it says it's a number which expresses the lower/upper bound for the number of keys a node can hold. It it further says that:
- every non-root node stores at least t-1 keys and has t children
- every node stores at most 2t - 1 keys and has 2t children
So you get for t = 2
- t-1 = 1 keys and t = 2 children
- 2t-1 = 3 keys and 4 children
for t = 3
- t-1 = 2 keys and t = 3 children
- 2t-1 = 5 keys and 6 children
Now here's the problem: It seems that the nodes in a B-Tree can only store an odd number of keys (when full)?! Why can't there be a node with, let's say at most 4 keys and 5 children? Does it have something to do with splitting the node?