Summary: A common way to store a binary heap is so that the children of n are located at {2n, 2n+1}. This has the effect that parent and child are usually located in different memory pages if the tree is big. Traversing the tree is faster if it's stored so that each page contains a small subtree that is a few levels deep.
So we go from [1] to [2] where the white boxes are memory pages and the numbers are order of nodes in memory.
So we go from [1] to [2] where the white boxes are memory pages and the numbers are order of nodes in memory.
[1] https://dl.acm.org/cms/attachment/2c619117-0016-424e-9d6a-8e...
[2] https://dl.acm.org/cms/attachment/c57e84df-5cde-4e48-9a2d-d6...