对n个记录的线性表进行快速排序,为减少算法的递归深度,以下叙述正确的是( )。
A. 每次分区后,先处理较短的部分
B. 每次分区后,先处理较长的部分
C. 与算法每次分区后的处理顺序无关
D. 以上都不对
查看答案
直接插入排序和冒泡排序的平均时间复杂度为( ),若初始数据有序(即正序),则时间复杂度为( )。
A. O(n)
B. O(log2n)
C. O(nlog2n)
D. O(n²)
设有1000个无序的元素,希望用最快的速度挑选出前20个最大的元素,最好选用( )算法。
A. 冒泡排序
B. 归并排序
C. 堆排序
D. 基数排序
下列排序算法中,( )算法会出现下面情况:在最后一趟结束之前,所有元素不在其最终的位置上。
A. 堆排序
B. 冒泡排序
C. 快速排序
D. 插入排序
在归并排序中,归并趟数的数量级表示为( ),每趟需要进行记录的比较和移动次数的数量级表示为( ),归并排序算法的时间复杂度为( )。
A. O(n)
B. O(log2n)
C. O(nlog2n)
D. O(n²)