关于java实现的问题,麻烦老师解惑

来源:2-5 插入排序法 - Insertion Sort

poxige

2017-10-12

实现代码:InsertionSort.java

两个排序方法调用顺序的不同,对“选择排序”的速度影响很大。(代码38-45行有详细的注释解释,以及我的尝试)

可能不是算法方面的问题,是java方面的问题,希望能得到老师的帮助,谢谢。

写回答

1回答

liuyubobobo

2017-10-12

你的InsertionSort有一个小地方可以优化,在内层循环中,一旦发现 arr[j].compareTo(arr[j - 1]) >= 0 的时候,可以break掉。


先试一下再用2-6的方式优化插入排序,然后测试一下课程官方的测试代码,看一下是否有你描述的这个问题?https://github.com/liuyubobobo/Play-with-Algorithms/blob/master/02-Sorting-Basic/Course%20Code%20(Java)/06-Insertion-Sort-Advance/src/bobo/algo/Main.java


0
1
poxige
好的,多谢。后来我也发现了没有提前退出循环的问题。但是还是不太明白,两个不相干的方法,不同的执行顺序效果差别为什么那么大。
2017-10-13
共1条回复

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

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

11187 学习 · 1614 问题

查看课程