На этот вопрос уже есть ответ здесь:
Алгоритм сортировки Heap Sort, похоже, имеет наихудшую сложность O(nlogn), и использует O(1) пространства для операции сортировки.
Это кажется лучше, чем большинство алгоритмов сортировки. Тогда почему бы не использовать Heap Sort всегда в качестве алгоритма сортировки (и почему люди используют такие механизмы сортировки, как Merge sort или Quick sort)?
Также я видел, что люди используют термин "нестабильность" применительно к Heap sort. Что это значит?