To be truly in-place, you cannot use recursion for building the heap. But you can imagine that you are growing the heap one element at a time, by adding it to the heap.