構建堆

堆排序中,最初的步驟就是建立一個堆。之前在一些公司的筆試題上面見到一些與建堆過程相關的題目,因爲當時對建堆過程有個誤解,所以經常選錯。之前一直以爲是在完全二叉樹中依次插入序列中的元素,每插入一個元素,就調用siftup操作;而實際的建堆操作是序列中元素首先就全部填入一個完全二叉樹,然後從第一個非終端節點開始,調用siftdown操作,依次調整。 堆分爲大根堆和小根堆,是完全二叉樹。大根堆的要求是每
相關文章
相關標籤/搜索