n
n/2
log2n
2n
第1题:
在快速排序过程中,每次划分,将被划分的表(或子表)分成左、右两个子表,考虑这两个子表,下列结论一定正确的是________。
A.左、右两个子表都已各自排好序
B.左边子表中的元素都不大于右边子表中的元素
C.左边子表的长度小于右边子表的长度
D.左、右两个子表中元素的平均值相等
第2题:
对于具有n个元素的一个数据序列,若只需得到其中第k个元素之前的部分排序,最好采用(63)。
A.堆排序
B.希尔排序
C.快速排序
D.直接插入排序
第3题:
● 对于具有n 个元素的一个数据序列,若只得到其中第 k 个元素之前的部分排序, 最好采用(59) ,使用分治 (Divide and Conquer )策略的是(60) 算法。
(59)A. 希尔排序 B. 直接插入排序 C. 快速排序 D. 堆排序
(60)A. 冒泡排序 B. 插入排序 C. 快速排序 D. 堆排序
第4题:
第5题:
第6题:
对于具有n个元素的一个数据序列,若只需要得到其中第A个元素之前的部分排序,最好采用(43)。
A.堆排序
B.希尔排序
C.快速排序
D.直接插入排序
第7题:
快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于等于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了 (61) 算法设计策略。已知确定基准元素操作的时间复杂度为,则快速排序算法的最好和最坏情况下的时间复杂度为 (62) 。
A.分治
B.动态规划
C.贪心
D.回溯
第8题:
对于具有n个元素的一个数据序列,若只需得到其中第k个元素之前的部分排序,最好采用(59),使用分治(Divide and Conquer)策略的是(60)算法。
A.希尔排序
B.直接插入排序
C.快速排序
D.堆排序
第9题:
第10题:
快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于等于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了()算法设计策略。