堆排序是原地排序,相比MergeSort不需要O(N)的空间,相比QuickSort,它能保证最坏时间为O(NlogN)
但是:
1. 堆排序不稳定
2. 内层循环时间比QuickSort长
3. 经常要跨越数组,不能利用Cache Memory