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

Posted xiaolovewei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法入门之冒泡排序及其优化(java实现)相关的知识,希望对你有一定的参考价值。

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

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

 

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

 

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

 

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

以上是关于排序算法入门之冒泡排序及其优化(java实现)的主要内容,如果未能解决你的问题,请参考以下文章

排序算法冒泡选择排序的Python实现及算法优化详解

Java排序算法之冒泡排序

数据结构之八大排序算法(C语言实现)

冒泡排序算法及其优化

详解Java算法之冒泡排序(Bubble Sorting)

详解Java算法之冒泡排序(Bubble Sorting)