今天的2016阿里C/C++笔试题

将整数数组(7-6-3-5-4-1-2)按照堆排序的方式原地进行升序排列,请问在第一轮排序结束之后,数组的顺序是_____。
A、 2-6-3-5-4-1-7
B、 6-2-3-5-4-1-7
C、 6-5-3-2-4-1-7
D、 1-5-3-2-4-6-7
E、 5-4-3-2-1-6-7
F、 5-1-3-2-4-6-7
#阿里巴巴#
全部评论
2,7交换,重新调整堆。结果为6532417.
点赞 回复 分享
发布于 2015-08-23 22:03
数组在一开始的时候已经是最大堆排序好的,第一轮中,我们只需要把堆顶元素与堆的最后一个元素进行交换,然后按照最大堆重新构建,即可以得到答案C
点赞 回复 分享
发布于 2015-09-07 16:12
交换2和7    层次遍历的顺序为  6 5  3 2 4 1 7 所以答案选C
点赞 回复 分享
发布于 2015-08-24 21:57
第一轮排序结束之后,应该是选出了 最小的元素啊,最小元素在堆顶,那应该选D
点赞 回复 分享
发布于 2015-08-24 16:22
原来是这样啊。。一开始就是一个OK的顺序。。7放到最后,2提上去,,重新拍啊哈哈
点赞 回复 分享
发布于 2015-08-24 15:57
第一轮排序结束,即选出了第二大元素,且第一大的元素已经放至堆的最后。 所以只能从B、C中选,然后根据前6个元素是否满足最大堆的性质,选择C。
点赞 回复 分享
发布于 2015-08-23 21:31
点赞 回复 分享
发布于 2015-08-23 21:14

相关推荐

点赞 评论 收藏
分享
只有一个苍穹外卖外加正在看黑马点评,可以找小厂实习吗,还有我的简历有什么大问题吗
Java抽象小篮子:感觉有点熟悉,问题1是学历,2是没实习经历,3是专业技能写得太少太少了(怎么写可以看我置顶帖),4是仅这一个项目找实习不够看。拷打完毕,简历怎么写可以看我置顶帖子
点赞 评论 收藏
分享
评论
点赞
10
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务