首页 > 试题广场 > 下列排序算法中,在待排序数据有序的情况下,花费时间最多的是(
[单选题]
下列排序算法中,在待排序数据有序的情况下,花费时间最多的是( )
  • 快速排序
  • 希尔排序
  • 冒泡排序
  • 堆排序

9个回答

添加回答
推荐
A
待排序数据有序就是快排的最差情况,此时的时间复杂度是O(n 2 )
编辑于 2015-02-10 11:43:35 回复(1)
快速排序是把数列按一个枢纽值分成两部分分别排序,所以效率高。但是若原数据为有序,并且选择的枢纽值为第一个数时,那在分块时会将一个第一个数前面的数(也就是没有)分为一块,将除第一个数的所有数分成了另一块。这样一来,每一次分块都只减少了一个值,而每次分块的时间为O(N),所以总时间为O(N^2)。
发表于 2015-07-30 20:17:02 回复(1)
答案A。
待排数据有序时,快速排序就属于最坏情况。
图片来源:http://blog.csdn.net/jiuyueguang/article/details/12028393
发表于 2017-03-11 22:48:59 回复(0)
快速排序,因为它是不停往前往后扫描,遇到大的换k,要是已排序,会不停换k,浪费更多时间
发表于 2019-04-16 10:33:32 回复(0)
这里主要区分a和c,c的话如果有序,那么有两种情况,而a的话不管升序还是降序,都是最差的情况。
发表于 2018-07-09 15:37:23 回复(0)
在待排序列已经有序的情况下,快速排序时间时间复杂度最高
发表于 2015-08-11 09:15:39 回复(0)
最坏的情况ABC的复杂度是O(N2),D是O(Nlog2 n),没有答案呀,
发表于 2015-04-09 14:25:35 回复(2)
快速排序 正序或逆序 最坏 O(N^2) 
发表于 2015-03-27 21:13:09 回复(0)
xxj头像 xxj
A
发表于 2014-11-14 15:15:50 回复(0)

扫一扫,把题目装进口袋

牛客网,程序员必备求职神器

扫描二维码,进入QQ群

扫描二维码,关注牛客网公众号