← All sorting algorithms
Heap Sort
DefaultComparingSwappingPivotSorted
Main Array Workflow
8
3
11
6
1
9
4
7
pseudocode
heapify(a, i, size):left = 2*i + 1; right = 2*i + 2largest = maxIndex(i, left, right)if largest != i:swap a[i], a[largest]heapify(a, largest, size)heapSort(a):buildMaxHeap: heapify all non-leaf nodesfor i from n-1 down to 1:swap a[0], a[i]; heapify(a, 0, i)
Frame 1 / 61
Start
unsorted array
4
3–16 integers between 1 and 20.