选择排序的优化反而比原本的更慢了
来源:2-7 更多关于O(n^2)排序算法的思考
Anthony_Duan
2018-07-27
您给的代码中有一小节是优化选择排序的,思路巧妙,每一轮中找到当前未处理元素的最大值与最小值,但是这种算法测试效果却还没有原本没有优化的好,请问是什么原因,我感觉比原来的应该快近一倍,事实上慢了许多。下面的InsertionSort是您优化过的。
写回答
1回答
-
很奇怪,我无法解释。我刚才测试了一下,在我的计算机上,优化后的SelectionSort2稳定的优于不优化的SelectionSort,除了对于第二个测试用例,包含大量重复数据的数组。(jdk1.8.0_131)
对于你的测试结果,我只能猜测和jvm的内部优化有关,甚至调用顺序都会对性能有影响。毕竟java是运行在虚拟机上的,虚拟机的具体实现会对代码效率产生很大影响。比如这个问答:https://coding.imooc.com/learn/questiondetail/30054.html
抱歉没有回答你的问题。
加油!
042018-07-27
相似问题