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题对比着看)
本文深入探讨了常见排序算法的性能特点,包括快速排序、归并排序、选择排序、希尔排序、堆排序等,详细分析了它们在不同情况下的时间复杂度、最坏情况、最坏性能以及稳定性。此外,文章还特别强调了排序算法在特定数据状态下表现的优势与劣势,如基本有序或完全无序的数据集。最后,通过比较分析,指出了在特定场景下,哪些排序算法更为高效或适合使用。
1359

被折叠的 条评论
为什么被折叠?



