堆排序算法知识点总结

时间:2021-08-28 09:54:58

1. 在用堆排序算法排序时,如果要进行增序排序,则需要采用“大根堆”,减序排列则要采用“小根堆”。

堆排序的方法:首先,将当前的数组调整为堆,也就是建立堆。然后把根与最后的元素交换,重新调整堆,然后再把调整后的根与倒数第二个元素交换,再重新调整堆,直到全部元素交换完毕。这样,对于大根堆,最大元素排列到了最后,是递增排序。而小根堆,最小元素排列到了最后,是递减排序。

2. 找出若干个数中最大/最小的前K个数,用堆排序是最好的。找最大数,用小根堆;找最小数,用大根堆

3. 堆排序的时间复杂度是O(n log n),堆排序中建堆过程的时间复杂度是O(n)