我目前正在为数据结构和算法类进行分配 我必须从给定的堆中删除节点;
6 after replacing the node ; 20
/ \ / \
11 9 11 9
/ \ / \ / \ / \
17 18 15 10 17 18 15 10
/
20
我的问题是,我是否会向左,向左,或重要吗?
答案 0 :(得分:2)
由于你在那里有一个小堆,你的下行操作应该将新的父节点与其较小的子节点交换。否则,您的交换可能会导致违反堆条件。
答案 1 :(得分:0)
您需要将父节点与具有较小值的子节点交换,并且此过程需要继续,直到满足堆的基本条件