2-1
对N个不同的数据采用冒泡算法进行从大到小的排序,下面哪种情况下肯定交换元素次数最多? (1分)
- 从小到大排好的
- 从大到小排好的
- 元素无序
- 元素基本有序
作者: DS课程组 单位: 浙江大学
2-2
对于7个数进行冒泡排序,需要进行的比较次数为: (2分)
- 7
- 14
- 21
- 49
作者: DS课程组 单位: 浙江大学
2-3
采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述中,正确的是: (2分)
- 每次划分后,先处理较长的分区可以减少递归次数
- 每次划分后,先处理较短的分区可以减少递归次数
- 递归次数与每次划分后得到的分区处理顺序无关
- 递归次数与初始数据的排列次序无关
作者: DS课程组 单位: 浙江大学
2-4
对N个记录进行快速排序,在最坏的情况下,其时间复杂度是: (1分)
- O(N)
- O(NlogN)
- O(N2)
- O(N2logN)
作者: DS课程组 单位: 浙江大学
2-5
有组记录的排序码为{46,79,56,38,40,84 },采用快速排序(以位于最左位置的对象为基准而)得到的第一次划分结果为: (2分)
- {38,46,79,56,40,84}
- {38,79,56,46,40,84}
- {38,46,56,79,40,84}
- {40,38,46,56,79,84}
作者: DS课程组 单位: 浙江大学
2-6
在快速排序的一趟划分过程中,当遇到与基准数相等的元素时,如果左右指针都不停止移动,那么当所有元素都相等时,算法的时间复杂度是多少?(2分)
- O(logN)
- O(N)
- O(NlogN)
- O(N2)
作者: DS课程组 单位: 浙江大学
2-7
在快速排序的一趟划分过程中,当遇到与基准数相等的元素时,如果左指针停止移动,而右指针在同样情况下却不停止移动,那么当所有元素都相等时,算法的时间复杂度是多少?(2分)
- O(logN)
- O(N)
- O(NlogN)
- O(N2)
作者: DS课程组 单位: 浙江大学
2-8
对N个记录进行归并排序,归并趟数的数量级是: (1分)
- O(NlogN)
- O(N)
- O(logN)
- O(N2)
作者: DS课程组 单位: 浙江大学
2-9
对N个记录进行归并排序,空间复杂度为: (1分)
- O(logN)
- O(N)
- O(NlogN)
- O(N2)
作者: DS课程组 单位: 浙江大学