堆排序詳解+圖解

堆分爲最大堆和最小堆,其實就是完全二叉樹。最大堆要求節點的元素都要不小於其孩子,最小堆要求節點元素都不大於其左右孩子,兩者對左右孩子的大小關係不做任何要求,其實很好理解。有了上面的定義,我們可以得知,處於最大堆的根節點的元素一定是這個堆中的最大值。 其實我們的堆排序算法就是抓住了堆的這一特點,每次都取堆頂的元素,將其放在序列最後面,然後將剩餘的元素重新調整爲最大堆,依次類推,最終得到排序的序列。
相關文章
相關標籤/搜索