2010-11-02 32 views
2

我目前正在爲數據結構和算法類作業。
我必須從給定的堆中刪除節點;如何下雪?

  6  after replacing the node ;   20 
    / \          /\ 
    11  9          11 9 
    /\ /\         /\ /\ 
    17 18 15 10         17 18 15 10 
/
20 

我有的問題是我下降到正確的左邊還是重要?

回答

2

既然你有一個小堆,你的downheap操作應該交換新的父母和小孩的小孩。否則,您的交換可能導致違反堆狀況。

0

您需要將父節點與具有較小值的子節點交換,並且此過程需要繼續,直到堆滿足基本條件爲止