左式堆的懶惰刪除
在左式堆中一個已知位置刪除節點的一種方法是使用懶惰策略。要刪除一個節點,只要將其標記爲已被刪除即可。當執行一個或時,若標記根節點被刪除則存在一個潛在的問題,因爲此時節點必須被實際刪除且需要找到實際的最小元,這可能涉及到刪除其他一些已做標記的節點。
在該方法中,花費一個單位,但一次或的開銷卻依賴於被做刪除標記的節點的個數。
Cheriton和Tarjan [1] 在論文中討論了左式堆中的懶惰刪除。一般的想法是:如果根被標記爲刪除,則形成堆的先序遍歷,並刪除標記刪除的節點,留下堆的集合。通過將所有的堆放在隊列中,每次出隊兩個堆進行合併然後將結果放在隊列的末尾,直到隊列中只有一個堆時停止操作。