(你的排序学的如何?)排序专项练习
来源:互联网 发布:tensorflow中文官网 编辑:程序博客网 时间:2024/06/04 08:49
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题对比着看)
- (你的排序学的如何?)排序专项练习
- 排序专项练习
- 菜鸟学java,练习写的快速排序算法
- 排序的运用练习
- 堆排序的练习
- 【昊昊带你学】常见的几种排序1
- 【昊昊带你学】常见的几种排序2(qsort)
- 基本排序算法的练习
- 各种排序算法的练习
- 拓扑排序专项训练
- 排序算法专项总结
- 练习1:冒泡排序 , 既可以学算法,又可以熟悉数组,循环的用法.
- <菜鸟学算法-A排序(分治的思想:归并排序)>
- <菜鸟学算法-A排序(分治的思想:快速排序)>
- <菜鸟学算法-A排序(分治的思想:堆排序)>
- 【作业存档】堆排序和插入排序的练习
- 帮同学做的:冒泡排序
- 今天学完了数据结构的排序
- KVC&KVO
- 获取用户选择日期时间
- iPhone分辨率和坐标、设计图尺寸
- Eclipse中SVN的安装步骤(两种)和使用方法
- SAT数学考试有哪些考试技巧
- (你的排序学的如何?)排序专项练习
- ToggleButton自定义View学习
- quartz储存方式之JDBC JobStoreTX
- gunzip 和 unzip 解压文件到指定的目录
- SQL Interview Preparation (in the context of MS SQL Server)
- CSS中的before和after伪元素及其应用
- 解决c/c++函数返回局部变量char*的错误
- linux 终端快捷键
- hasLayout