堆排序中,在每次堆调整,记录比较和移动次数的数量级为( )。
A. O(log2n) B. 0(n) C. O(nlog2n) D.n2
在正常情况下, 冒泡排序的时间复杂度为( )。
每次把待排序的区间划分为左、右两个子区间,其中左区间中的记录的关键字均排序小于等于基准纪录的关键字,右区间中记录的关键字均大于等于基准记录的关键李,这种排序称为( )。
A.插入排序 B.快速排序 C.堆排序 D.归并排序
设有800条记来,希望用最快的方法挑出其中前10个最大的元素,最好选用( )。
A.插入排序 B.快速排序
C.堆排序 D.归并排序
从未排序序列中依次取出元素与已经排好序的序列中的元素作比较,将其放入已排序序列的正确位置上,此方法称为( )。
A.插入排序 B.选择排序 C.交换排序 D.归并排序
在归并排序中,归并趟数的数量级为( )。
设有n个待排序的记录关键字,则在堆排序中需要( )个辅助记录单元。
(A) 1 (B) n (C) nlog2n (D) n2
若构造一棵具有n个结点的二叉树排序,在最坏的情况下,其深度不会超过( )。 A. n/2 B. n C. (n+1)/2 D. n+1
下面几种排序方法中,要求内存量最大的是( )。 A.插入排序 B.快速排序
从未排序序列中挑选元素,并将其放入已排序序列的一端,此方法称为( )。
A.插入排序 B.交换排序 C.选择排序 D.归并排序
下列排序算法中,( )算法可能会出现下面的情况:在最后一趟开始之前,所有元素都不在其最终的位置上。
A.堆排序 B.冒泡排序 C.快速排序 D.插入排序
下列四种排序中( )的空间复杂度最大。
(A) 插入排序 (B) 冒泡排序 (C) 堆排序 (D) 归并排序
平均情况下,快速排序的时间复杂度为( )。
依次将每两个相邻的有序表合并成一个有序表的排序方法称为( )。
在归并排序中,每趟需要进行的记录比较和移动次数的数量级为( )。
如果将所有中国人按照生日(不考虑年份,只考虑月、日)来排序,那么使用( )算法最快。
A.归并排序 B.希尔排序 C.快速排序 D.基数排序
在待排序元素基本有序的情况下,效率最高的排序方法是( )。
最坏情况下,快速排序的时间复杂度为( )。
快速排序方法在( )情况下最不利于发挥其长处。 A.要排序的数据量太大 B.要排序的数据中含有多个相同值
C.要排序的数据已基本有序 D.要排序的数据个数为奇数
在所有的排序方法中,关键字比较的次数与记录初始排序秩序无关的是( )。
A.冒泡排序 B.希尔排序 C.直接选择排序 D.直接插入排序
当两个元素出现逆序的时候就交换位置,这种排序方法称为( )。
归并排序算法时间复杂度为( )。
一组记录的排序码为(46, 79, 56, 38, 40, 84),则利用快速排序的方法,以第一个记录为基准得到的第一次划分结果为( )。 A.38,40,46,56,79,84
B.40,38,46,79,56,84
C.40,38,46,56,79,84
D.40,38,46,84,56,79
如果只想得到1024个元素组成的序列中的前5个最小元素,那么用( )方法最快。 A.起泡排序 B.快速排序 C.堆排序 D.直接选择排序
在正常情况下, 直接插入排序的时间复杂度为( )。
堆排序算法时间复杂度为( )。