This page assumes nothing. Before you read the parent note, make sure every symbol below feels obvious. We build them in the order the topic needs them.
Look at the figure. The red box is the root. Lines going down are edges. The boxes at the very bottom with no lines beneath them are leaves. The number of lines leaving a node is its number of children.
Why the topic needs it: a B-tree is a tree of nodes. Everything — height, splitting, balance — is described using these words.
Before any formula, let us name three plain quantities we will use constantly.
Both red trees in the figure hold the same number of leaves. The left one is binary (b=2) and tall. The right one is fat (b=4) and short. The topic's magic is making trees as fat — and therefore as short — as possible.
Now that N (total keys) and b (branching factor) have names, we can ask the key question: how many levels does it take?
Why the topic needs it: a tree with fanout b holding N keys has height about logbN. That is the whole payoff of B-trees — see Big-O Notation for why log-height means fast.
Some textbooks instead use m, the order, meaning "maximum children". The two are just two names for the same knob, related by m=2t (a node's max children). We stick with t because the parent does.
Look at the red node in the figure: it holds k=3 keys (recall from §3 that k is the number of keys inside one node), so it has k+1=4 children.
Why the topic needs it: every property in the parent ("at least t−1 keys", "at most 2t−1", height ≤logt2N+1) is written in these letters.
Why the topic needs it: this is the "BST property generalised" the parent mentions. It is how you navigate a fat node. In a B+ tree these internal separators are only signposts — the real record still lives in a leaf.
The figure shows the speed gap as bar lengths (a log scale — each step is ≈100×). RAM is a sliver; an HDD seek is a giant red bar. This gap is the enemy the whole topic fights.
Why the topic needs it: property 6 in the parent ("all leaves at the same depth") is precisely what lets the §4 leaf-count — and therefore the height bound — be exact rather than approximate.
The figure below shows how the plain ideas feed into the topic. Read it top to bottom: the plain ideas (keys, nodes) feed into fanout; the disk facts force one-node-per-block, which is the fanout; logs turn fanout into a short height; and balance makes that height a guarantee. All arrows meet at the parent topic.
Cover the right side and answer aloud. If any stumps you, re-read that section.
A key is ::: the value you search by; the record is the data attached to it.
k (lowercase) denotes ::: the number of keys inside a single node.
The branching factor / fanoutb of a node is ::: how many children it actually has.
logbN means ::: the exponent you raise b to, to get N (how many levels of fanout b reach N).
Why does a bigger base shrink the log? ::: because each level multiplies size by more, so fewer levels reach N.
In the height proof, do we use the minimum or maximum children per node, and why? ::: the minimum (t), because the tallest possible tree happens when nodes are as empty as the rules allow.
Where does the 2N+1 in h≤logt2N+1 come from? ::: the +1 from moving the −1 across, the ÷2 from the root having only 2 children.
If logt2N+1=3.2, the true height is at most ::: ⌊3.2⌋=3 (round the upper bound down).
t (minimum degree) controls ::: the minimum (t−1) and maximum (2t−1) keys per non-root node.
How many keys may the root hold at minimum? ::: just 1 (or 0 if the tree is empty) — the root is exempt from the t−1 rule.
A node with k keys has how many children, and why? ::: k+1 — k fences make k+1 gaps.
A block is ::: the smallest chunk of data a disk reads in one I/O (e.g. 4–16 KB).
Why is a seek the enemy? ::: it is ~10 ms on an HDD, ~100000× slower than a RAM access; we minimise their count.
Why do we make one node = one block? ::: a read gives a whole block free, so packing it with keys maximises fanout per read.
"All leaves at exactly the same depth" is needed because ::: it makes the §4 bottom-level leaf count exact, so the height bound is exact.
How does a B+ tree differ from a B-tree? ::: records live only in the leaves (internal nodes are signposts), and leaves are chained in a list for fast range scans.