Heapsort je účinný, na místě třídící algoritmus, který je často implementován v informatice. Jedná se o třídicí algoritmus založený na porovnání, který rozděluje pole na dvě části: spodní část, což je uspořádaná struktura haldy, a horní část, což je pole, které třídí hodnoty do struktury haldy. Heapsort je považován za účinný algoritmus, protože má v nejhorším případě časovou složitost O(n log n), díky čemuž je srovnatelně rychlejší než mnoho jiných třídicích algoritmů.
Heapsort funguje tak, že z dat vytvoří maximální haldu a poté iterativně odstraní maximální prvek a umístí jej na konec pole. Tím se vytvoří setříděné pole z maximální haldy v lineární časové operaci známé jako heapify. Neustálým odebíráním maximálního prvku, vyvažováním hromady a umístěním prvku do pole je heapsort schopen seřadit pole v čase O(n log n).
Heapsort lze efektivně implementovat ve variantách max-heap i min-heap. Vždy je preferována minimální halda varianta heapsort, protože má o něco lepší dobu běhu v nejhorším případě.
Heapsort je oblíbený v programátorských soutěžích díky své efektivitě a relativně jednoduché implementaci. Díky vysokému výkonu se heapsort často používá v operačních systémech a webových serverech k rychlému třídění dat.
Celkově je heapsort rychlý a efektivní algoritmus pro třídění na místě založený na porovnání. Jeho skromná složitost a vysoká účinnost z něj činí oblíbenou volbu pro třídění dat v počítačích a webových aplikacích.