校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > UI专业知识 > 色彩
题目

【0、2、1、4、3、9、5、8、6、7】是以数组形式存储的最小堆,删除堆顶元素0后的结果是()

A.【2、1、4、3、9、5、8、6、7】

B.【1、2、5、4、3、9、8、6、7】

C.【2、3、1、4、7、9、5、8、6】

D.【1、2、5、4、3、9、7、8、6】

解答

正确答案是 D

首先,题目有问题,[0,2,1,4,3,9,5, 8 ,6,7], 原数组是这样才对得上号。
第二,堆是一种经过排序的完全二叉树,最小堆:根结点的键值是所有堆结点键值中最小者。根据这个不难写出原来堆依次为 顶层0   第二层 2 1   第三层 4 3   9 5   第四层 8 6 7      
第三,最小堆删除堆顶后,用最后一个元素暂代堆顶,然后变成顶层7   第二层  2 1   第三层 4 3   9 5   第四层 8 6 ,7>2>1,故1和7对调,对调后顶层1   第二层  2 7   第三层 4 3   9 5   第四层 8 6;因为9>7>5,5和7对调 ,对调后 顶层1   第二层  2 5   第三层 4 3   9 7   第四层 8 6;形成新的最小堆
故答案为:D 
C 3条回复 评论
阿然

看这个冲刺面试

发表于 2021-09-14 07:40:00
0 0
繁星知晓

删除零号元素后,最后一个元素替换零号元素,然后调用下滑调整算法。

发表于 2018-11-01 15:12:58
0 0
毛大军

发表于 2018-11-01 15:12:01
0 0