Heap sort با heapify slice را به max-heap تبدیل می‌کند، بعد بزرگ‌ترین عنصر (ریشه) را به انتهای heap در حال کوچک‌شدن می‌برد و heap را ترمیم می‌کند. کران O(n log n) تضمین‌شده دارد و بافر نمی‌خواهد، اما در حافظه می‌پرد و معمولاً مقایسه‌ی بیشتری از quicksort یا merge sort دارد.