(你的排序学的如何?)排序专项练习

1.当待排序记录已经从小到大排序或者已经从大到小排序时,快速排序的执行时间最省()

A.    

B.    

 

 

答案:B

根据快排的特点可知,快速排序基本有序情况下效率最低,在基本无序情况下效率最高。

 

 

2.以下排序中时间复杂度最差的是

A.    归并排序

B.    选择排序

C.   希尔排序

D.   堆排序

 

答案:B

排序方法

平均时间

最好时间

最坏时间

桶排序(不稳定)

O(n)

O(n)

O(n)

基数排序(稳定)

O(n)

O(n)

O(n)

归并排序(稳定)

O(nlogn)

O(nlogn)

O(nlogn)

快速排序(不稳定)

O(nlogn)

O(nlogn)

O(n^2)

堆排序(不稳定)

O(nlogn)

O(nlogn)

O(nlogn)

希尔排序(不稳定)

O(n^1.25)

 

 

冒泡排序(稳定)

O(n^2)

O(n)

O(n^2)

选择排序(不稳定)

O(n^2)

O(n^2)

O(n^2)

直接插入排序(稳定)

O(n^2)

O(n)

O(n^2)

 

 

 

3.最坏情况下 insertsort, quick sort ,merge sort的复杂度分别是多少?

A.     O(n*n),O(nlogn),O(n*n)

B.    O(n*n),O(n*n),O(nlogn)

C.   O(n*n),O(nlogn),O(nlogn)

D.   O(nlogn),O(nlogn),O(nlogn)

 

 

 

答案:B

要注意,快排在最坏情况下复杂度为O(n*n),而合并排序不受初始状态有序程度的影响。

 

 

4.设某文件经内排序后得到100个初始归并段(初始顺串),若使用多路归并排序算法,且要求三趟归并完成排序,问归并路数最少为

A.    8

B.    7

C.   6

D.   5

 

 

答案:D                    

5^3=125>100

 

 

5.将一个从大到小的数组,用以下排序方法排序成从小到大的,()最快。

A.     插入排序

B.    冒泡排序

C.   快速排序

D.   堆排序

 

 

答案:D

上述情况对于插入排序、冒泡排序、快速排序都是最差情况

 

 

6.快速排序方法在()情况下最不利于发挥其长处

A.    要排序的数据量太大

B.    要排序的数据中含有多个相同值

C.   要排序的数据个数为奇数

D.   要排序的数据已基本有序

 

 

答案:D

可以参考1题

 

 

7.下列排序算法中,在待排序数据有序的情况下,花费时间最多的是()

A.    快速排序

B.    希尔排序

C.   冒泡排序

D.   堆排序

 

 

答案:A

 可以参考1题

 


8.    下列排序算法中,其时间复杂度和记录的初始排列无关的是

A.    插入排序

B.    堆排序

C.   快速排序

D.   冒泡排序

 

 

答案:B

 


9.有字符序列(Q,H,C,Y,P,A,M,S,R,D,F,X,新序列(F,H,C,D,P,A,M,Q,R,S,Y,X)是下列()排序算法一趟扫描结果。

A.     堆排序

B.    快速排序

C.   希尔排序

D.   冒泡排序

 

 

答案:B

感觉这种题基本上都是在说快排。。。

 

 

10.在待排序的元素序列基本有序的前提下,效率最高的排序方法是?

A.     插入排序

B.    选择排序

C.   快速排序

D.   归并排序

 

答案:A(注意和第5题对比着看)



  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值