对上一个问题的正确答案进行两次删除操作后,数组的内容是什么?
(一) 14、13、12、10、8
(乙) 14、12、13、8、10
(三) 14、13、8、12、10
(四) 14、13、12、8、10答案: (D)
说明:对于堆树,删除节点包括以下两个操作。
1) 用最后一层的最后一个元素替换根。
2)从根开始,从上到下堆成完整的树..
让我们一一删除这两个节点:
1) 删除 25:
用 12 替换 25
12
/ \
/ \
14 16
/ \ /
/ \ /
13 10 8
由于根违反了堆属性(16 大于 12),因此将 16 作为树的根。
16
/ \
/ \
14 12
/ \ /
/ \ /
13 10 8
2) 删除 16:
用 8 替换 16
8
/ \
/ \
14 12
/ \
/ \
13 10
从根部到底部堆肥。
14
/ \
/ \
8 12
/ \
/ \
13 10
14
/ \
/ \
13 12
/ \
/ \
8 10
这个问题的测验