數(shù)據(jù)結(jié)構(gòu)筆記(樹->堆)

堆(heap):
結(jié)構(gòu)性:用數(shù)組表示的完全二叉樹
有序性:任一結(jié)點的關(guān)鍵字是其子樹所有結(jié)點的最大值(最小值),從根結(jié)點到任一結(jié)點路徑上的結(jié)點序列都是有序的
最大值:最大堆(MaxHeap)大頂堆
最小值:最小堆(MinHeap)小頂堆

堆(最大堆)的插入:
新元素插入到完全二叉樹的下一位,如果新元素大于其父結(jié)點,則交換位置,直到其小于其父結(jié)點。O(logN)

堆(最大堆)的刪除:
刪除根結(jié)點,將樹的最后一個結(jié)點替換為根,將新的根結(jié)點與它的左右子樹的根節(jié)點比較大小,如果根節(jié)點小于左右子樹的根節(jié)點,與兩者中的較大者交換位置,直到其大于左右子樹的根結(jié)點

堆(最大堆)的建立:
1、將N個元素相繼插入到初始為空的最大堆中,O(NlogN)
2、O(N)
1、將N個元素按輸入順序存入,先滿足完全二叉樹的結(jié)構(gòu)特性
2、調(diào)整各結(jié)點位置,以滿足最大堆的有序特性(最大調(diào)整次數(shù)為各個結(jié)點的高度和)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容