首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
有字符序列(Q,H,C,Y,P,A,M,S,R,D,F,X)
[单选题]
有字符序列(Q,H,C,Y,P,A,M,S,R,D,F,X),新序列(F,H,C,D,A,M,P,S,R,Y,Q,X)是下列( )排序算法一趟扫描结果。
堆排序
快速排序
希尔排序
冒泡排序
查看正确选项
添加笔记
求解答(30)
邀请回答
收藏(482)
分享
27个回答
添加回答
2
捂耳听风
每次都是按照第一个来进行排序,其实也完全可以按照其中的某一个值作为关键之来进行排序。
本题以中间值M为基准,但是比较过程中不是与M交换,而是从前往后看找比M大的,从后向前看找比M小的,遇到一组则前后交换这一组的值,直到寻找位置重合。
编辑于 2018-01-30 10:28:17
回复(0)
1
牛客905435118号
快速排序有多种实现方法。 第一种:选择第一个元素作为piovt基准点,然后用“挖坑法”,进行覆盖。 第二种:选择中间元素作为pivot基准点,先从尾部开始找第一个小于pivot的点,再从头部找第一个大于pivot的点,进行交换。
发表于 2021-03-21 18:04:20
回复(0)
1
牛客515776号
心中每次默念一遍字母表顺序!
发表于 2016-10-21 22:31:44
回复(1)
45
Me怤畢炜eM
这道题让我明白 主元pivot 真不一定是 第一个元素
发表于 2016-08-06 14:52:21
回复(7)
10
尼见
一趟快速排序意思是:寻找一个支点,将该序列位置整个调整一边,可以看到M是支撑点,左边都是比M小的,右边都是比M大的,
注意:支点不一定是左边第一个数,可以任意选的。
发表于 2016-06-08 13:18:41
回复(5)
8
935039168
以M为支点的快速排序,从X开始比较。(排列字母顺序,换成数字看得明晰一些。)
发表于 2016-03-01 20:33:54
回复(0)
3
我是超越迷妹了😘
快速排序的枢轴pivotkey通常是取第一个记录,但是也可以任取一个记录。。。。。。
发表于 2017-09-27 16:20:48
回复(0)
2
云云云一飞冲天
这题可以用排除法做:
正确答案: B
冒泡排序一趟之后最值肯定在最后了,所以排除冒泡排序;
希尔排序需要先确定增量,观察可以看出Q和F的位置是互换了,说明至少Q和F都在同一个增量中,Q和F中间隔了10个,并且这个增量中不能存在比F还小的值,所以1因为会引入A不能为增量,2因为会引入C不能为增量,3和4不整除,5因为会引入A不能作为增量,这样找不到一个这样的增量,所以不能;
快速排序的特点:关键节点前面的元素都比它小,后面的元素都比它大,M就是这样的点;
堆排序第一步应该是与最后一层的最右边的节点交换位置,然后找个被交换的F需要下沉,这样F就不能开头了,故排除;
到这里应该就能选了,但是我无意中看到了有人这样解(下面这个是别的题目下大佬的说法):
因为按照快排,最后结束条件是left==right,所以每一趟排序一定会有一个正确的数字占正确的坑位,3趟应该至少有3个数字在正确位置:
快速排序一趟确定1个或者2个点的最终位置,如果是第一次,确定1个;
第二次以后:
如果基点在最左边或者最右边确定1个点最终位置;
如果在中间,那么确定2个点的最终位置;
最后结束条件是left==right,所以每一趟排序一定会有一个正确的数字占正确的坑位,3趟应该至少有3个数字在正确位置;
按照这说法,确实只有一个R在应该存在的位置;
如有错误,还请各位大佬指正;
发表于 2022-08-17 01:35:25
回复(0)
1
若水/爆米花
B
发表于 2015-06-17 18:47:10
回复(1)
0
小小的鹏弟
从M开始左侧元素均小于M右侧均大于M,符合一趟快速排序基本条件(手写快排一样)
发表于 2022-11-20 21:28:51
回复(0)
0
AAS48
快排哨兵可以随便取。。。只不过一般是取第一个元素,坑阿
发表于 2021-12-22 22:05:46
回复(0)
0
yyyylem
求解:为啥希尔不行。。。
感觉也可啊~ 第一遍的间距就是Q、H的距离。
发表于 2020-05-13 23:54:02
回复(1)
0
淇神
贼烦这种用字母来排序的啦,数字他不香吗
发表于 2020-04-17 13:28:52
回复(0)
0
louis_ncu
以M为支点,进行双边快速排序
发表于 2020-04-12 14:00:56
回复(0)
0
19961226
为啥我的快排是:D H C F P A M Q R S Y X
发表于 2020-03-28 10:12:53
回复(0)
0
乐壹波呀
我以前都是把第一个元素作为基准,但是看评论的都是说M,是怎么选择M为基准的?随机选一个可以吧》
发表于 2020-03-12 17:27:20
回复(0)
0
百度_zopen
可以将M或者P作为支撑点
发表于 2019-05-06 15:14:40
回复(0)
0
id_9527
习惯性的用第一个元素当做基数,然后。。。
发表于 2018-08-22 15:39:13
回复(0)
0
疾风剑豪~亚索
M推出的竟然不是答案
发表于 2018-04-22 21:06:48
回复(0)
0
dcjer
呵呵哒,不按套路出牌。枢轴选的M
发表于 2018-04-03 20:32:03
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
人人网
排序
来自:
人人网2015研发笔试卷D
上传者:
牛客499538号
难度:
27条回答
482收藏
17002浏览
热门推荐
相关试题
用 js、html、css实现一...
人人网
2011
Javascript
前端工程师
评论
(6)
来自
人人网2011前端工程师笔试卷
在下列表述中,错误的是()
字符串
树
排序
评论
(43)
实现 input 输入框的自动匹配。
人人网
2011
Javascript
前端工程师
评论
(11)
来自
人人网2011前端工程师笔试卷
Linux中,一个端口能够接受tc...
人人网
网络基础
Linux
计算机网络
测试
后端开发
客户端开发
前端开发
数据
运维/技术支持
评论
(35)
来自
人人网2015研发笔试卷D
图中U和I分别为
电路基础
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题