堆排序算法詳解

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