天天看點

資料結構示例——堆排序過程

例:對{57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7}進行堆排序的過程。

算法如下:

(1)循環建立初始堆

用給出的序列構造堆的初始狀态如下:

資料結構示例——堆排序過程

在此基礎上,根據上述代碼,從最後一個分支節點開始調整,目标是得到大根堆。過程如下圖:

資料結構示例——堆排序過程

這個堆的存儲結構是:

資料結構示例——堆排序過程

(2)進行n-1次循環,完成推排序

過程圖示如下:

資料結構示例——堆排序過程

請繼續補充畫完。

繼續閱讀