搜索
编程论坛
→
开发语言
→
『 数据结构与算法 』
→ 快速排序算法的疑问
标题:
快速排序算法的疑问
只看楼主
bubble_soup
等 级:
新手上路
帖 子:39
专家分:0
注 册:2018-1-21
结帖率:
0
楼主
问题点数:0 回复次数:4
快速排序算法的疑问
快速排序的pivot怎么选取?
据说是三数中值法。
那第一个pivot应该选最左边、最右边、还是中间的那个数字呢?
另外,pivot的选取为什么不能每次都选中间下标对应的那个值呢?这样不就可以避免分歧了吗???
搜索更多相关主题的帖子:
快速排序
算法
疑问
数字
对应
2018-04-08 21:12
bubble_soup
等 级:
新手上路
帖 子:39
专家分:0
注 册:2018-1-21
第
2
楼
得分:0
请大家踊跃发言。有想法都可以说说看。
2018-04-08 21:13
bubble_soup
等 级:
新手上路
帖 子:39
专家分:0
注 册:2018-1-21
第
3
楼
得分:0
请大家踊跃发言。有想法都可以说说看。
2018-04-08 21:13
bubble_soup
等 级:
新手上路
帖 子:39
专家分:0
注 册:2018-1-21
第
4
楼
得分:0
pivot的选取,按照网上的版本最好的还是使用三数中值法。但是为什么不能使用中间下标法(我取的名字)呢?每次都取中间的那个数(整个数据集合的中间下标对应的值)为pivot呢,这样也不会一起歧义/
2018-04-08 21:18
请大师指点
等 级:
版主
威 望:
3
帖 子:6
专家分:20
注 册:2018-9-13
第
5
楼
得分:0
它的思路大概是这样的(我用我理解的方式说哈):首先引入两个标签 I,J 分别标记数组的第一个和最后一个位置的元素;(2)我们把第一个位置的元素拿出来和J标记的元素比较,假如J标记的元素比拿出来的元素大呢,J就向前移(即:J-1),假如J标记的元素比拿出来的元素小呢,J所标记的元素就去取代 刚刚空出来的位置。
2018-09-20 18:32
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-485864-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.014421 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved