Heap sort

Basandoci sul max heap binario, si può creare un algoritmo di sorting. Nel max heap binario si ha il valore più alto memorizzato nella radice, e nell’array il valore massimo va memorizzato in H[dim(H)].

HeapSort(H):
	costruisciHeap(H)
	for i = H.length-1 downto 1
		H[i] := estrazioneMassimoHeap(H)

Il costo computazionale di questo algoritmo è .

asd_22