最小堆[0,3,2,5,7,4,6,8],在删除堆顶元素0之后,其结果是()
A. [3,2,5,7,4,6,8]
B. [2,3,5,7,4,6,8]
C. [2,3,4,5,7,8,6]
D. [2,3,4,5,6,7,8]
答案:C 根据堆的删除规则,删除...
用户登录可进行刷题及查看答案
答案:C 根据堆的删除规则,删除操作只能在堆顶进行,也就是删除0元素。 然后让最后一个节点放在堆顶,做向下调整工作,让剩下的数组依然满足最小堆。 删除0后用8填充0的位置,为[8,3,2,5,7,4,6] 然后8和其子节点3,2比较,结果2最小,将2和8交换,为:[2,3,8,5,7,4,6] 然后8的下标为2,其两个孩子节点下标分别为2*2+1=5,2*2+2=6 也就是4和6两个元素,经比较,4最小,将8与4交换,为[2,3,4,5,7,8,6] 这时候8已经没有孩子节点了,调整完成。
登录后提交答案
暂无评论,来抢沙发