为什么我优化swap后 插入排序依然比选择排序慢啊?

来源:2-6 插入排序法的改进

慕勒7618682

2017-07-26

http://szimg.mukewang.com/597851b00001357e06840513.jpg

写回答

5回答

liuyubobobo

2017-11-03

经我测试Java确实存在这个问题。似乎和Java8以后Java版本的底层优化有关。如果使用Java7进行测试的话,近乎是100%插入排序快于选择排序的。目测和插入排序的过程中,访问数组元素的操作更多有关。


不过大家不用太过纠结于这个问题。在实际生产环境中,选择排序近乎是没有用武之地的。在这里,关键是大家要了解插入排序的一个非常重要的性质:对于近乎有序的数组,插入排序非常快!我们后续的算法优化,是要利用这个性质的:)

2
0

busy526

2017-10-16

N很大的话选择比有序快,N小和数组接近有序插入会比选择快

0
0

慕尼黑3917127

2017-09-21

朋友这问题得到解答了吗


0
0

慕尼黑3917127

2017-09-16

同样遇到这个问题,实验发现使用了comparable接口之后就会产生这个结果,但原因不明

0
0

liuyubobobo

2017-07-27

0
1
风洛洛
我实验了这个代码效果也是一样的。。。。
2017-10-16
共1条回复

算法与数据结构(C++版) 面试/评级的算法复习技能包

课程专为:短时间内应对面试、升职测评等艰巨任务打造

11187 学习 · 1614 问题

查看课程