van Emde Boas Layout — the concrete mapping

Every node of the search tree is placed at a definite array cell. Each shaded triangle is a recursive vEB subtree, and the same-coloured strip below is the contiguous block of cells it occupies. Step the recursion level to watch the split $h\!\to\!h/2$ repeat — cleanest when $h$ is a power of two.

a recursive vEB subtree (tree triangle = array segment) node currently visited block loaded this step
Pick a query key and press Run. Each node lights up with its memory cell, so you can read the tree→array mapping directly.
Block loads (I/Os)
750ms

The vEB layout cuts the tree at its middle level into a top piece of height h/2 and √N bottom pieces, lays out the top piece, then the bottom pieces, all contiguously, and recurses. At recursion level 1 you see that first cut; raise the level to split each piece again. When the pieces reach height ≈ log₂B they each fit in ~one block — that is why a search of length log₂N loads only O(logBN) blocks. (Labels are shown up to h=6; beyond that the shading carries the structure.)