堆排序詳解

小樓昨夜又西風發表於2019-03-09

在這裡插入圖片描述
設有一個無序序列 { 1, 3, 4, 5, 2, 6, 9, 7, 8, 0 }。
1、構造初始堆
在這裡插入圖片描述
初始堆構造完畢之後,所有的父節點都比自己的子孫節點都大

2、構造初始堆後,就需要完整的堆排序
解釋: 從第(2)步開始已經是最大堆了,之後就是“根元素和最後一個元素交換位置,然後輸出最後一個元素(是目前堆的最大值)”和“篩選調整堆結構使之仍然是一個最大堆”
在這裡插入圖片描述
在這裡插入圖片描述
程式碼實現是C語言版

相關文章