堆排序算法詳解

一、堆排序算法原理和動態圖解        將待排序的序列構造成一個大頂堆。此時,整個序列的最大值就是堆頂的根節點。將它移走(其實就是將其與堆數組的末尾元素交換,此時末尾元素就是最大值),然後將剩餘的n-1個序列重新構造成一個堆,這樣就會得到n個元素中的次最大值。如此反覆執行,就能得到一個有序序列了。這個過程其實就是先構建一個最大/最小二叉堆,然後不停的取出最大/最小元素(頭結點),插入到新的隊列
相關文章
相關標籤/搜索