Là một phần của bài tập về nhà bao gồm việc thực hiện introsort, tôi đã hỏi tại sao heapsort được sử dụng thay vì các thuật toán cho vấn đề đó).
Introsort là một thuật toán sắp xếp lai cung cấp cả hiệu suất trung bình nhanh và hiệu suất trong trường hợp xấu nhất tối ưu (không có triệu chứng). Nó bắt đầu với quicksort và chuyển sang heapsort khi độ sâu đệ quy vượt quá một mức dựa trên (logarit của) số lượng phần tử được sắp xếp. ( Wikipedia , lấy ra 2014-May-06.)
Lý do duy nhất tôi có thể nghĩ đến là heapsort là "tại chỗ" ... Nhưng tôi không thực sự hiểu tại sao điều này lại quan trọng ở đây.