堆插入和删除

时间:2016-06-17 17:59:23

标签: algorithm heap graph-algorithm binary-heap

首先,我必须从堆中删除7,然后添加17和14.

enter image description here

问题是我不知道那堆是什么。它是最小堆吗?还是二项式堆?

你们有没有人可以解释我如何做(或/和)草拟每项操作?

谢谢

1 个答案:

答案 0 :(得分:0)

只需 最后一页 <替换 ,就可以在O(logn)中删除堆内的所有元素 < / strong>然后在 最后一页 上应用Heapify operation

您必须在右下方的第一个空叶子中添加新节点,然后堆积该叶子。

Heapify:

  • 反复交换新元素(一般:元素 违反堆条件)与其父节点一样长 小于父母,而不是根。
  • 反复交换 具有最小值的子元素的新元素,直到新元素 元素变为一个离开或两个子节点都大于 元素本身。