码迷,mamicode.com
首页 > 编程语言 > 详细

排序算法入门之冒泡排序及其优化(java实现)

时间:2017-09-19 21:25:30      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:一个   java   元素   时间复杂度   没有   优化算法   技术分享   alt   ima   

冒泡排序思想(从小到大):

      比较相邻两个元素,如果第一个元素比第二个元素大,就交换他们的位置。第一趟,从第一个元素开始,第一个元素和第二个元素比较,如果第一个元素比第二个元素大,则交换位置;接下来比较第二、第三个元素,大的放后面,以此类推,直到最后两个。第一趟比较结束后,最大的元素放到了最后一个位置。接下来进行第二趟排序,从第一个元素到倒数第二个元素(因为最后一个已经是最大的了)执行上面步骤。依次执行下去。

技术分享

 

此时的最优最差平均时间复杂度为O(n^2)。

 

优化:加一个标志位,当交换元素时为true,没有交换时为false,排序结束。

技术分享

 

此时的优化算法的最优时间复杂度为O(n),最差和平均是O(n^2)。

排序算法入门之冒泡排序及其优化(java实现)

标签:一个   java   元素   时间复杂度   没有   优化算法   技术分享   alt   ima   

原文地址:http://www.cnblogs.com/xiaolovewei/p/7553833.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!