首页 > 编程语言 > 详细

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

时间:2017-09-19 20:56:24      阅读:264      评论:0      收藏:0      [点我收藏+]

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

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

技术分享

 

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

 

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

技术分享

 

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

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!