选择排序和优化选择排序

直接入题。

先来看几张图片。

下面是当初我上学时老师所讲,今天我翻来研究一下,发现所谓的优化并不是太明显。

1.选择排序

选择排序和优化选择排序

为了能方便的计算时间,把最后的遍历数据也一并加了进去。

第一次测试

选择排序和优化选择排序

第二次测试......

 

2.优化选择排序

选择排序和优化选择排序

第一次测试

选择排序和优化选择排序

第二次测试.......

。。。。。。华丽丽的分割线。。。。。。。

经过连续几十次的测试发现:

1.在数据量较短时执行所消耗的时间没有太大的区别

2.仔细观察两者发现,没有经过优化的选择排序,for循环的最外层要多执行一次,而经过优化的选择排序,for循环的最外层要少执行最后一个元素。

3.再次仔细观察发现,未有经过优化的,代码量比较少,而优化之后的则比较多。

4.未经过优化的,有两个for循环(最后遍历不算),一个if判断,最外层for循环要多执行一次,而优化之后有两个for循环,两个if判断,最外层for循环只执行length-1次,但最后的if判断在完成一轮对比之后都要判断。

final:最后奉上我修改的,与未优化的相比,最外层for循环要少执行一个元素,与上面优化的相比则少了每次执行完一轮就要执行一次if判断的操作。

选择排序和优化选择排序