Reference:
Check whether a heap is empty.
Combine two heaps. Assume they use the same ordering function.
Return the minimum element of a heap.
Remove the minimum element from a heap. Do nothing if the given heap is empty.
Create a heap with a single element.
Pairing heap
Reference: