• Puts elements from the array into a heap structure in time
  • Extracts the root of the heap into an array until the heap is empty in time