2

我目前正在为数据结构和算法课程分配作业。
我必须从给定的堆中删除节点;

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

我的问题是我会向右,向左倾斜还是有关系?

4

2 回答 2

3

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

于 2010-11-02T19:31:06.783 回答
0

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

于 2016-11-21T06:46:20.663 回答