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