Heap sort สร้าง binary heap จากอาร์เรย์ จากนั้นดึงค่าสูงสุดออกมาซ้ำๆ เพื่อสร้างลำดับที่เรียงลำดับ ทำงานใน O(n log n) และ ในที่
แนวคิด
Max-heap รักษาองค์ประกอบที่ใหญ่ที่สุดไว้ที่ราก สร้าง heap (O(n)) จากนั้นสลับรากไปยังส่วนท้าย ย่อขนาด heap และ re-heapify (sift down) — n ครั้ง
