Eternalzttz / Eternalzttz.github.io

0 stars 0 forks source link

C语言堆排序 | Eternal_zttz #2

Open Eternalzttz opened 6 years ago

Eternalzttz commented 6 years ago

http://eternalzttz.com/2018/09/17/C%E8%AF%AD%E8%A8%80%E5%A0%86%E6%8E%92%E5%BA%8F/#more

堆排序:堆排序可以看成优化版的选择排序 堆排序的基本思想是:将待排序序列构造成一个大顶堆,此时,整个序列的最大值就是堆顶的根节点。将其与末尾元素进行交换,此时末尾就为最大值。然后将剩余n-1个元素重新构造成一个堆,这样会得到n个元素的次小值。如此反复执行,便能得到一个有序序列了其算法时间复杂度为O(nlogn)