排序 2021-1-20

1-1
仅基于比较的算法能得到的最好的“最坏时间复杂度”是O(NlogN)。

T

1-2
对N个记录进行归并排序,归并趟数的数量级是O(NlogN)。

F

1-3
对N个记录进行堆排序,需要的额外空间为O(N)。

F

1-4
对N个记录进行简单选择排序,比较次数和移动次数分别为O(N^​2​​ )和O(N)。

T

1-5
对N个记录进行快速排序,在最坏的情况下,其时间复杂度是O(NlogN)。

F

1-6
希尔排序是稳定的算法。

F

1-7
对N个不同的数据采用冒泡排序进行从大到小的排序,当元素基本有序时交换元素次数肯定最多。

F

1-8
要从50个键值中找出最大的3个值,选择排序比堆排序快。

T

1-9
用3条磁带对55个有序段做2路归并,初始的段分配成(34,21)比分配成(30,25)要好。

T

1-10
采用递归方式对顺序表进行快速排序,每次划分后,先处理较短的分区可以减少递归次数。

T

2-1
在对N个元素进行排序时,基于比较的算法中,其“最坏时间复杂度”中最好的是:
A.O(logN)
B.O(N)
C.O(NlogN)
D.O(N​^2​​ )

C

2-2
下列排序算法中,哪种算法可能出现:在最后一趟开始之前,所有的元素都不在其最终的位置上?(设待排元素个数N>2)

A.冒泡排序
B.插入排序
C.堆排序
D.快速排序

B

2-3
对一组数据{ 2,12,16,88,5,10 }进行排序,若前三趟排序结果如下: 第一趟排序结果:2,12,16,5,10,88 第二趟排序结果:2,12,5,10,16,88 第三趟排序结果:2,5,10,12,16,88 则采用的排序方法可能是:

A.冒泡排序
B.希尔排序
C.归并排序
D.基数排序

A

2-4
下面四种排序算法中,稳定的算法是:

A.堆排序
B.希尔排序
C.归并排序
D.快速排序

C

2-5
对N个不同的数据采用冒泡算法进行从大到小的排序,下面哪种情况下肯定交换元素次数最多?

A.从小到大排好的
B.从大到小排好的
C.元素无序
D.元素基本有序

A

2-6
有组记录的排序码为{ 46,79,56,38,40,84 },则利用堆排序的方法建立的初始堆为:

A.79,46,56,38,40,80
B.84,79,56,46,40,38
C.84,56,79,40,46,38
D.84,79,56,38,40,46

D

2-7
有组记录的排序码为{46,79,56,38,40,84 },采用快速排序(以位于最左位置的对象为基准而)得到的第一次划分结果为:

A.{38,46,79,56,40,84}
B.{38,79,56,46,40,84}
C.{38,46,56,79,40,84}
D.{40,38,46,56,79,84}

D

2-8
给定初始待排序列{ 15,9,7,8,20,-1,4 }。如果希尔排序第一趟结束后得到序列为{ 15,-1,4,8,20,9,7 },则该趟增量为:

A.1
B.2
C.3
D.4

D

2-9
对N个元素采用简单选择排序,比较次数和移动次数分别为:

A.O(N^​2​​ ), O(N)
B.O(N), O(logN)
C.O(logN), O(N^​2​​ )
D.O(NlogN), O(NlogN)

A

2-10
对N个记录进行堆排序,最坏的情况下时间复杂度是:

A.O(logN)
B.O(N)
C.O(NlogN)
D.O(N^​2​​ )

C

2-11
在基于比较的排序算法中,哪种算法的最坏情况下的时间复杂度不高于O(NlogN)?

A.冒泡排序
B.归并排序
C.希尔排序
D.快速排序

B

2-12
对大部分元素已有序的数组进行排序时,直接插入排序比简单选择排序效率更高,其原因是:

(I). 直接插入排序过程中元素之间的比较次数更少
(II). 直接插入排序过程中所需要的辅助空间更少
(III). 直接插入排序过程中元素的移动次数更少

A.仅 I
B.仅 III
C.仅 I、II
D.I、II 和 III

A

2-13
若数据元素序列{ 11,12,13,7,8,9,23,4,5 }是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是:

A.冒泡排序
B.选择排序
C.插入排序
D.归并排序

C

2-14
就排序算法所用的辅助空间而言,堆排序、快速排序、归并排序的关系是:

A.堆排序 < 归并排序 < 快速排序
B.堆排序 > 归并排序 > 快速排序
C.堆排序 < 快速排序 < 归并排序
D.堆排序 > 快速排序 > 归并排序

作者

C

2-15
对于7个数进行冒泡排序,需要进行的比较次数为:

A.7
B.14
C.21
D.49

C

2-16
对N个记录进行归并排序,空间复杂度为:

A.O(logN)
B.O(N)
C.O(NlogN)
D.O(N^2)

B

2-17
下列排序算法中,时间复杂度不受数据初始状态影响,恒为O(NlogN)的是:

A.冒泡排序
B.直接选择排序
C.堆排序
D.快速排序

C

2-18
排序方法中,从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置的方法称为:

A.插入排序
B.选择排序
C.快速排序
D.归并排序

A

2-19
对一组包含10个元素的非递减有序序列,采用直接插入排序排成非递增序列,其可能的比较次数和移动次数分别是:

A.100, 100
B.100, 54
C.54, 63
D.45, 44

D

2-20
对N个记录进行快速排序,在最坏的情况下,其时间复杂度是:

A.O(N)
B.O(NlogN)
C.O(N​^2​​ )
D.O(N^2​​ logN)

C

2-21
对N个记录进行堆排序,需要的额外空间为:

A.O(1)
B.O(logN)
C.O(N)
D.O(NlogN)

A

2-22
给出关键字序列{ 431, 56, 57, 46, 28, 7, 331, 33, 24, 63 },下面哪个选择是按次位优先(LSD)链式基数排序进行了一趟分配和收集的结果?

A.→331→431→33→63→24→56→46→57→7→28
B.→56→28→431→331→33→24→46→57→63→7
C.→431→331→33→63→24→56→46→57→7→28
D.→57→46→28→7→33→24→63→56→431→331

C

2-23
将序列{ 2, 12, 16, 88, 5, 10, 34 }排序。若前2趟排序的结果如下:

第1趟排序后:2, 12, 16, 10, 5, 34, 88
第2趟排序后:2, 5, 10, 12, 16, 34, 88
则可能的排序算法是:

A.冒泡排序
B.归并排序
C.快速排序
D.插入排序

C

2-24
数据序列{ 3, 1, 4, 11, 9, 16, 7, 28 }只能是下列哪种排序算法的两趟排序结果?

A.冒泡排序
B.快速排序
C.插入排序
D.堆排序

B

2-25
设有1000个元素的有序序列,如果用二分插入排序再插入一个元素,则最大比较次数是:

A.1000
B.999
C.500
D.10

D

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值