堆排序图片详解
堆排序實例
首先,建立初始的堆結構如圖:
然后,交換堆頂的元素和最后一個元素,此時最后一個位置作為有序區(有序區顯示為黃色),然后進行其他無序區的堆調整,重新得到大頂堆后,交換堆頂和倒數第二個元素的位置……
堆排序分析
堆排序方法對記錄數較少的文件并不值得提倡,但對n較大的文件還是很有效的。因為其運行時間主要耗費在建初始堆和調整建新堆時進行的反復“篩選”上。
堆排序在最壞的情況下,其時間復雜度也為O(nlogn)。相對于快速排序來說,這是堆排序的最大優點。此外,堆排序僅需一個記錄大小的供交換用的輔助存儲空間。
總結
- 上一篇: realloc函数使用总结
- 下一篇: 堆的构建、堆的插入、堆的删除、堆排序