首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
快速排序在最坏情况下的时间复杂度与下面( )算法最坏情况下的
[不定项选择题]
快速排序在最坏情况下的时间复杂度与下面( )算法最坏情况下的时间复杂度相同。
堆排序
Shell 排序
冒泡排序
基数排序
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(85)
分享
纠错
10个回答
添加回答
3
Jino.
选
C
。
常用排序算法复杂度情况如下图:
由上图可知
在最坏情况下,快速排序的时间复杂度与冒泡排序相同,均为O(n²)。
Shell排序在最坏情况下时间复杂度为O(nlog²n)。
基数排序在最坏情况下时间复杂度为O(n*k)。
堆排序在最坏情况下时间复杂度为O(nlogn)。
综上,选C。
编辑于 2021-10-01 18:39:50
回复(2)
1
天尊墨宇
选择BC项,理由如下
希尔排序:先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插人排序;然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有记录放在同一组中进行直接插入排序为止。希尔排序的运行时间依赖于增量序列的选择,最坏情形运行时间为O(n
2
)
发表于 2020-06-16 20:40:52
回复(0)
1
牛客218196695号
快速排序在最坏的情况下即为最初始得情况已排好序,此时得一趟快排与冒泡排序类似,所以最坏情况与,O(n^2)
发表于 2020-05-22 17:34:59
回复(0)
1
sincebreeze
首先堆排序的时间复杂度只为O(nlogn),在最好最坏平均情况下都是,冒泡排序当序列与排序序列正好相反时时间复杂度最坏为O(n2),基数排序一直O(d(n+r)),而shell排序在最坏情况下也为O(n2)
发表于 2019-12-30 15:14:27
回复(0)
6
白驹之过隙
选
B
C
。
快速排序
基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以
递归
进行,以此达到整个数据变成有序序列。
最坏情况发生在每次划分过程产生的两个区间分别包含n-1个元素和1个元素的时候。
时间复杂度为O(n
2
)
选项A
堆排序:依照完全二叉树的特性,
最大堆要求节点的元素都要不小于其孩子,最小堆要求节点元素都不大于其左右孩子。
初始化建堆的时间复杂度为O(n),排序重建堆的时间复杂度为nlog(n),所以总的时间复杂度为O(n+nlogn)=O(nlogn)
选项B
希尔排序:
先取一个小于n的
整数
d1作为第一个增量,把
文件
的全部
记录
分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插人排序;然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有记录放在同一组中进行直接插入排序为止。
希尔排序的运行时间依赖于增量序列的选择,
最坏情形运行时间为O(n
2
)
选项C
冒泡排序:
在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。最坏的情形运行时间为O(n
2
)。
选项D
基数排序:
将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。时间复杂度最坏情况O(d(r+n))
发表于 2020-01-01 08:15:45
回复(0)
0
鸣泓
在最坏情况下直接插入排序,冒泡排序和简单选择排序时间复杂度都是O(n*2) ,希尔排序在n的某个时间范围是O(n*1.3)。最坏时间复杂度是O(n*2)
发表于 2022-07-30 21:51:40
回复(0)
0
凉笙〆墨染
发表于 2021-10-11 20:07:17
回复(1)
0
你永远得不到的祖奶奶
快速排序 最坏情况下是 n^2,冒泡排序最坏情况下也是n^2.
发表于 2020-05-28 21:12:13
回复(0)
0
Geek_AK
选C,快排最坏情况为O(n^2),冒泡排序也是如此。其中,堆排序和基数排序最坏情况均为O(nlogn),希尔排序最坏情况小于O(n^2),具体以其所取的序列函数确定
发表于 2019-12-30 15:48:28
回复(0)
0
正义的非洲大酋长
这题出的有问题吧。 快排、shell和冒泡的最坏情况都是O(n^2), 堆最坏情况是O(nlogn) 基数最坏是O(d+r)
发表于 2019-12-30 14:58:10
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
排序
上传者:
zsw3
难度:
10条回答
85收藏
12282浏览
热门推荐
相关试题
在下列表述中,错误的是()
字符串
树
排序
评论
(43)
执行以下程序,理论上输出的结果应最...
360集团
Python
算法工程师
2019
评论
(1)
来自
360公司-2019校招...
以下描述正确的是
Java
评论
(1)
生成数据集的随机子集
机器学习
评论
(1)
k近邻算法
机器学习
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题