九九百科網

位置:首頁 > 經驗 > 

堆排序怎麼排

經驗2.57W

堆排序怎麼排

首先將待排序的數組構造成一個大根堆,此時,整個數組的最大值就是堆結構的頂端。將頂端的數與末尾的數交換,此時,末尾的數為最大值,剩餘待排序數組個數為n-1。將剩餘的n-1個數再構造成大根堆,再將頂端數與n-1位置的數交換,如此反覆執行,便能得到有序數組。

堆排序利用堆這種數據結構所設計的一種排序算法。堆是一個近似完全二叉樹的結構,並同時滿足堆積的性質:即子結點的鍵值或索引總是小於(或者大於)它的父節點。

標籤:堆排序