首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
以下哪种排序算法对(1,3,2,4,5,6,7,8,9)进行
[单选题]
以下哪种排序算法对(1,3,2,4,5,6,7,8,9)进行的排序最快()
冒泡
快排
归并
堆排
查看答案及解析
添加笔记
邀请回答
收藏(411)
分享
19个回答
添加回答
30
推荐
bairuiworld
题目中应该是改进的冒泡排序。用普通的冒泡排序,时间复杂度还是O(n*n);使用改进的冒泡排序(即在一次冒泡过程中,没有任何元素交换,则结束排序),可以提前结束排序过程。
编辑于 2016-03-23 10:42:20
回复(2)
3
郑元元
基本有序,只需遍历一遍即可,设置标志域跳出循环
发表于 2015-09-16 20:10:37
回复(1)
1
duanhua
文件初态基本有序时,用直接插入排序,表插入排序,冒泡排序效果最好。
发表于 2015-09-23 17:06:00
回复(0)
10
thfeng
若记录的初始状态已经按关键码基本有序,则选用直接插入排序或冒泡排序发为宜
发表于 2016-07-17 09:59:59
回复(1)
6
木目光
void Bubble_1 ( int r[], int n) {
int i= n -1; //初始时,最后位置保持不变
while ( i> 0) {
int pos= 0; //每趟开始时,无记录交换
for (int j= 0; j< i; j++)
if (r[j]> r[j+1]) {
pos= j; //记录交换的位置
int tmp = r[j]; r[j]=r[j+1];r[j+1]=tmp;
}
i= pos; //为下一趟排序作准备
}
}
使用改进冒泡算法,速度最快。每趟排序记录下最后一次交换的位置。
发表于 2016-03-25 21:19:06
回复(0)
2
Ykiki
如果序列有序或者基本有序,则直接插入或者冒泡最简单
发表于 2016-08-09 17:00:32
回复(0)
1
小妖~~
这个题目没有指明是哪种冒泡排序,如果是普通的冒泡排序复杂度是O(n2),改进过的冒泡排序是O(n)
发表于 2019-04-17 10:28:38
回复(0)
1
Asoiaf
那我如果也用改进的针对基本有序的归并排序,
第一轮:
1 3, 2 4, 5 6, 7 8 9;需要比较1+1+1+2=5次
第二轮:
拿前面最大与后面最小比较则:
1 2 3 4, 5 6 7 8 9;次数3+1=4;
最后一轮1次,则总共比较10次即可.
而用改进的冒泡排序则需要比较8+7 = 15次;
那岂不说明我改的归并排序更快一点.
发表于 2017-02-23 19:32:03
回复(0)
1
dragonaxz
为什么老是说改进后的冒泡排序呢,冒泡不是指的原来的冒泡排序?如果是改进的应该写上才对
发表于 2016-12-11 21:33:33
回复(0)
0
东东xxdded
冒泡一遍扫描即可。有序后跳出循环O(n)
发表于 2017-07-25 13:58:39
回复(0)
0
阿狸噢
萝莉控
发表于 2016-10-31 20:29:13
回复(0)
0
Jankh
使用带flag的冒泡,2 与3 交换后即可
发表于 2016-09-09 13:21:11
回复(0)
0
风稻妞
(1)若n较小(如n≤50),可采用直接插入或直接选择排序。
当记录规模较小时,直接插入排序较好;
否则因为直接选择移动的记录数少于直接插人,应选直接选择排序为宜。
(2)若文件初始状态基本有序(指正序),则应选用直接插人、冒泡或
随机
的快速排序为宜。
(3)若n较大,则应采用时间复杂度为O(nlgn)的排序方法:快速排序、堆排序或归并排序。快速排序是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短;堆排序所需的辅助空间少于快速排序,并且不会出现快速排序可能出现的最坏情况。这两种排序都是不稳定的。若要求排序稳定,则可选用归并排序。但本章介绍的从单个记录起进行两两归并的 排序算法并不值得提倡,通常可以将它和直接插入排序结合在一起使用。先利用直接插入排序求得较长的有序子文件,然后再两两归并之。因为直接插入排序是稳定 的,所以改进后的归并排序仍是稳定的。
发表于 2016-08-16 18:09:58
回复(0)
0
嘎嘎嘎过把大人也让
严格来说应该是改进的冒泡排序最快。
发表于 2016-02-12 13:07:36
回复(0)
0
牛可粉
基本有序,可使用插入排序和冒泡排序。
发表于 2015-09-23 00:20:43
回复(0)
0
Jason_zhang
对于一个有序的序列,用归并的效率是很快的。。。但是 答案是是粗哦了
发表于 2015-09-20 22:12:45
回复(2)
0
我本无心
说是升序了嘛? 我要是需要的是降序呢,什么破题
发表于 2015-09-18 15:49:56
回复(1)
0
小丫小丫
快速排序的平均时间复杂度为O(nlogn),最坏情况为O(n^2);
堆排序以及归并排序的平均、最坏及最好的时间复杂度均为O(nlogn);
(1,3,2,4,5,6,7,8,9)基本已经有顺序了,可以采用冒泡排序的优化算法,仅需要到 i=2即可。
发表于 2015-09-16 16:09:00
回复(0)
0
revivedSuN
冒泡一遍扫描即可。有序后跳出循环O(n)
发表于 2015-09-15 22:21:09
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
排序
来自:
京东2014研发工程师...
难度:
19条回答
411收藏
21743浏览
热门推荐
相关试题
在下列表述中,错误的是()
字符串
树
排序
评论
(43)
设一课完全二叉树共有999个结点,...
树
哔哩哔哩
2021
评论
(46)
来自
京东2014研发工程师校...
选择合适字母 : CFI DHL EJ_
数学运算
评论
(17)
来自
京东2014研发工程师校...
请你罗列出3家严选对标的同类型竞争...
竞品研究
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题