Is there a known algorithm that can reorder a binary heap of size $N$ so that after the reordering
- we still have a valid binary heap
- the first half of the input ($\frac{N}{2}$ elements) are all placed in one half (not necessarily sorted)
- worst case linear time for all inputs
- without extra memory