A more recursive approach could be that each node is the root of two subtrees where
the heap property is valid and has the no smaller value of all the elements of thosetwo trees. This perspective enables us to view a heap as the union of more heaps and
that is the first step towards our algorithm. If we omit the nodes above a specific level
k, the remainder can be viewed as 2k independent heaps of depth d – k, where d stands
for the depth of the initial heap