排序——小题(选择,判断)

1.设有100个元素的有序序列,如果用二分插入排序再插入一个元素,则最大比较次数是:(A)

A.7

B.10

C.25

D.50

解析:即折半查找的最大比较次数:floor(logn)+1。

2.对初始数据序列{ 8, 3, 9, 11, 2, 1, 4, 7, 5, 10, 6 }进行希尔排序。若第一趟排序结果为( 1, 3, 7, 5, 2, 6, 4, 9, 11, 10, 8 ),第二趟排序结果为( 1, 2, 6, 4, 3, 7, 5, 8, 11, 10, 9 ),则两趟排序采用的增量(间隔)依次是:(D)

A.3, 1

B.3, 2

C.5, 2

D.5, 3

解析:图示

3.在快速排序的一趟划分过程中,当遇到与基准数相等的元素时,如果左指针停止移动,而右指针在同样情况下却不停止移动,那么当所有元素都相等时,算法的时间复杂度是多少?(D)

A.O(logN)

B.O(N)

C.O(NlogN)

D.O(N2)

解析:这种情况下,枢轴每次最终都再最边界,此时退化为冒泡排序(树型变为单孩子树)。

4.对N个记录进行归并排序,归并趟数的数量级是:(A)

A.O(logN)

B.O(N)

C.O(NlogN)

D.O(N2)

5.对N个记录进行归并排序,空间复杂度为:(B)

A.O(logN)

B.O(N)

C.O(NlogN)

D.O(N2)

解析:区分4,5

6.对N个记录进行简单选择排序,比较次数和移动次数分别为O(N2)和O(N)。(T)

解析:通过选择排序的代码可以明显看出。

7.对于10个数的简单选择排序,最坏情况下需要交换元素的次数为:(A)

A.9

B.36

C.45

D.100

解析:由交换次数的时间复杂度是O(n)可得A

具体过程

8.排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一“趟”。下列序列中,不可能是快速排序第二趟结果的是:(D)

A.5, 2, 16, 12, 28, 60, 32, 72

B.2, 16, 5, 28, 12, 60, 32, 72

C.2, 12, 16, 5, 28, 32, 72, 60

D.5, 2, 12, 28, 16, 32, 72, 60

解析:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值