排序选择题总结

排序选择题总结

常见的排序算法有哪些?其中哪些是稳定的,哪些是不稳定的?

答:冒泡排序、选择排序、直接插入排序、希尔排序、归并排序、快速排序、堆排序、基数排序、计数排序。

其中,稳定的排序算法有:冒泡排序、直接插入排序、归并排序、基数排序、计数排序。

不稳定的排序算法有:选择排序、希尔排序、快速排序、堆排序。

 

希尔排序、简单选择排序和快速排序是不是稳定的排序算法?

答:不是。都是不稳定的排序算法。

 

答案:C

【解析】反正我知道快速排序对基本有序的数据进行排序,效率特别低。反过来就是答案。

 

答案:D E

【解析】稳定的排序算法有:冒泡排序、直接插入排序、归并排序、基数排序、计数排序。

不稳定的排序算法有:选择排序、希尔排序、快速排序、堆排序。

 

答案:C

【解析】O(1):冒泡排序、选择排序、直接插入排序、希尔排序、堆排序。

O(logN)~O(N):快速排序

O(N):归并排序

 

答案:C

 

答案:C

 

【解析】选择排序的时间复杂度是O(n^2)。

400^2 对应  400ms

?^2   对应  1600ms

?等于800。

 

答案:D。

 

 

【解析】冒泡排序、直接插入排序的时间复杂度为O(n^2)。

快速排序的平均时间复杂度为O(nlogn),最好为O(nlogn),最坏达到了O(n^2)。

堆排序的时间复杂度为O(nlogn),最坏、最好都是O(nlogn)。

归并排序的时间复杂度为O(nlogn),最坏、最好都是O(nlogn)。

 

答案:B。

 

答案:D。

 

 

 

答案:4 5 16 18 2 7 20 34 33 29 40   

 

答案:C

 

答案:D

【解析】为什么选D?因为我知道其它三个肯定不对!

 

答案:堆排序。构建小顶堆。

 

答案:直接插入排序的时间复杂度为O(n^2),堆排序的时间复杂度为O(nlogn)。

 

答案:D

【解析】冒泡排序的时间复杂度为O(n^2),最好为O(n),最坏为O(n^2)。

直接插入排序的时间复杂度为O(n^2),最好为O(n),最坏为O(n^2)。

选择排序的时间复杂度为O(n^2),最好为O(n^2),最坏为O(n^2)。

快速排序的时间复杂度为O(nlogn),最好为O(nlogn),最坏为O(n^2)。

 

答案:A。

我们可以轻松将B、D排除。看A、C

A排一次后的结果为:9 17 5 21 25 23 30

C排一次后的结果为:5 9 17 21 25 23 30

A再排一次就可以出结果了:5 9 17 21 23 25 30

C再排排一次结果为:5 9 17 21 23 25 30 我们看着也出结果了,但计算机还要进行一轮,对9 17进行排序。

所以选A。

 

使用快排的话 5 9 17 有序,快排一趟只能确定5的位置,然后还要对9 17 进行一趟快排,但是9 17 5只需进行一趟就能确定三个元素的位置,所以9 17 5 比 5 9 17 更快。


根据快排的原理:A{21,25,5,17,9,23,30}选项,先选择21做为最终归位的元素,1、从后向前找小于21的元素,与21交换位置,{9,25,5,17,21,23,30};2、从前向后找大于21的元素{9,21,5,17,25,23,30};3、从后向前找小于21的元素(从原来停止的位置开始){9,17,5,21,25,23,30}4、继续从前向后,结束第一次快排,21归位。得到{9,17,5,21,25,23,30}。

 

答案:D

 

 

猜你喜欢

转载自blog.csdn.net/lz1170063911/article/details/82559285