2010-11-02 33 views
2

我目前正在为数据结构和算法类作业。
我必须从给定的堆中删除节点;如何下雪?

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

我有的问题是我下降到正确的左边还是重要?

回答

2

既然你有一个小堆,你的downheap操作应该交换新的父母和小孩的小孩。否则,您的交换可能导致违反堆状况。

0

您需要将父节点与具有较小值的子节点交换,并且此过程需要继续,直到堆满足基本条件为止