首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
输入若已经是排好序的,下列排序算法最快的是?
[单选题]
输入若已经是排好序的(递增),下列排序算法(同样递增)最快的是()
插入排序
Shell排序
合并排序
快速排序
添加笔记
邀请回答
收藏(430)
分享
9个回答
添加回答
13
推荐
free斩
选A插入排序最快,遍历一遍即可,时间复杂度为 O(N);
剩下的 Shell 是基于插入排序的,一般最好情况下才可能达到 O(N),此处明显比插入排序复杂;
C:归并排序必须要建立一个栈来维护而且任何情况下其时间复杂度均为 O(N*logN);
D:众所周知快排最好的情况下,时间复杂度是 O(N*logN).
所以选 A。
编辑于 2015-02-06 10:06:33
回复(1)
6
霖淼书生
·A
插入排序,遍历一遍,时间复杂度为O(n)
Shell排序,明显大于O(n)
归并排序属于稳定的最好最坏时间复杂度都一致的,复杂度为O(nlgn)
快排,在有序的情况下,最慢,O(n^2)
发表于 2015-09-05 11:57:44
回复(0)
3
阿诺41
在输入数据近乎有序的情况下,插入排序时间复杂度O(n),表现最好
发表于 2017-10-01 23:25:07
回复(0)
2
sunlight_run
A:插入排序只需要遍历一遍,时间复杂度为O(n)
B:希尔排序基于插入排序,只有好的情况下才能达到O(n)
C:归并排序时间复杂度为nlogn
D:快速排序在排好序的情况下,时间复杂度为n^2
发表于 2017-07-03 20:24:33
回复(0)
2
美团到店招聘
此题选C。有序分为正序和逆序。
请告诉我,如果是逆序,插入排序如何能胜过归并排序?!
编辑于 2017-02-27 10:48:55
回复(4)
1
nomico271
若已排好序,使用插入排序的时候只要两两比较一次即可,复杂度为O(n)。
发表于 2017-07-21 19:14:58
回复(0)
1
huixieqingchun
要理解各种排序算法的原理。
发表于 2016-05-12 14:57:41
回复(0)
0
Juventus-小九
直接选择的时间复杂度为o(n^2)
发表于 2022-01-11 00:05:57
回复(0)
0
我是萌新有人信吗
快排也可以达到N
发表于 2019-04-03 09:20:17
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
搜狐
复杂度
排序
来自:
搜狐2013校招研发工...
上传者:
ShelterFromTheS
难度:
9条回答
430收藏
13010浏览
热门推荐
相关试题
程序设计(可用任何编程语言实现) ...
搜狐
数组
排序
评论
(8)
在下列表述中,错误的是()
字符串
树
排序
评论
(43)
程序设计(可用任何编程语言实现) ...
搜狐
字符串
评论
(3)
下列关于网络编程错误的是()
搜狐
网络基础
评论
(14)
来自
搜狐2013校招研发工程...
10个不同的球,放入3个不同的桶内...
搜狐
组合数学
评论
(14)
来自
搜狐2013校招研发工程...
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题