如何击退?

时间:2010-11-02 17:59:50

标签: heap

我目前正在为数据结构和算法类进行分配 我必须从给定的堆中删除节点;

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

我的问题是,我是否会向左,向左,或重要吗?

2 个答案:

答案 0 :(得分:2)

由于你在那里有一个小堆,你的下行操作应该将新的父节点与其较小的子节点交换。否则,您的交换可能会导致违反堆条件。

答案 1 :(得分:0)

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