对上一个问题的正确答案执行两次删除操作后,数组的内容是什么? (A) 14,13,12,10,8 (B) 14,12,13,8,10 (C) 14,13,8,12,10 (D) 14,13,12,8,10 答复: (D) 说明: 对于堆树,删除节点包括以下两个操作。
null
1) 用最后一级的最后一个元素替换根。 2) 从根开始,将整棵树从上到下排列。。
让我们逐个删除这两个节点: 1) 删除25项: 用12代替25
12 / / 14 16 / / / / 13 10 8
由于根违反了heap属性(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
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END