本文主要是介绍数据结构 排序 思考题2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
全部每周作业和视频思考题答案和解析 见 浙江大学 数据结构 思考题+每周练习答案
题目一:在堆排序中,元素下标从0开始。则对于下标为i的元素,其左、右孩子的下标分别为:
-
A. 2i-1, 2i
-
B. 2i, 2i+1
-
C. 2i+1, 2i+2
-
D. 2i+2, 2i+3
选C
0的左子1右子2,代进去,只有C对。
题目二:对N个记录进行堆排序,最坏的情况下时间复杂度是
-
A.
-
B.
-
C.
-
D.
这个题啥意思?没看出有什么需要思考的地方,不应该就是课程里介绍的NlogN么。选C。
题目三:有一组记录(46,77,55,38,41,85),用堆排序建立的初始堆为
-
A. 38,77,55,46,41,85
-
B. 38,41,46,77,55,85
-
C. 85,55,77,38,41,46
-
D. 85,77,55,38,41,46
就是建立最大堆罢了:
选D
题目四:堆排序是稳定的。
-
A. √
-
B. ×
错误。粗略一想就是不稳定的:建立最小堆的时候以及排序的时候,顺序都打乱了。
为了更精确一点,举个例子:假设建立的最小堆如下所示:
这篇关于数据结构 排序 思考题2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!