Haugsortering bruker datastrukturen heap til å organisere elementene i datasettet som skal sorteres. Algoritmen setter elementene inn i et komplett binært tre. Første fase av algoritmen ordner treet slik at alle nodene er større enn eller lik nodene under (eventuelt mindre). Deretter hentes største element ut og slettes og treet rettes opp. Heapsort er en effektiv algoritme i samme klasse som quicksort og mergesort. Det viktigste fortrinnet til heapsort er at den har en konstant kjøretid på O( log ), også i dårlige tilfeller. Dette gjør at den er godt egnet i datasystemer der man ikke kan risikere forsinkelser. Det er også en fordel med tanke på sikkerhet fordi andre mye brukte algoritmer kan sakkes ned og kanskje bryte sammen ved at man legger inn store mengder data som gir dårlig ytelse. En ulempe med heapsort er at det er vanskelig å kjøre flere prosesser parallelt, man får med andre ord ikke fordel av å bruke mange prosessorer.