排序算法之冒泡排序

原创 2016年08月31日 01:28:28

冒泡排序作为数据结构入门级的排序,优点是非常简单,但是性能实在太差,实际很少直接用冒泡排序,而且在相同时间复杂度的条件下,插入排序的性能要略优于冒泡,使得冒泡入门级的地位也岌岌可危,不过作为排序算法中的基石,还是要了解才行。

冒泡算法的要点:

  1. 算法思想
           冒泡算法是从数组最后一个元素开始,向前依次两两对比,把较小的数往前交换,类似于轻泡泡浮上水面,因此称作冒泡(同样,反之亦可,遍历所有元素对,把较大或较小的值移到一边),因此不难想到冒泡需要一个双循环进行对比。冒泡排序的总循环次数是固定的,即使是在一个大致有序的数组里,冒泡排序仍然要做很多无用功,为此,可以为已经有序的部分做上标记,使得冒泡排序时可以跳过这一段,性能提高一些。

  2. 代码部分
    冒泡排序部分(Bubble)

    数组排序基础类
    BaseSort)



  3. 代码说明
    两个循环,每次都从最后一个数开始,依次向前比较,把较小的数放在前面
    isSwap 表示是否交换过,true表示交换过,false表示没有,交换过则说明之前的数组元素不是按既定顺序排序,需要接着对比比较,而没有交换过表示之前的数组都已经按照既定顺序排序好,无需进行比较

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

冒泡排序算法

冒泡排序算法

  • 2013-03-18 12:01
  • 403B
  • 下载

冒泡排序算法原理及实现

1、排序方法 将被排序的记录数组R[1..n]垂直排列,每个记录R[i]看作是重量为R[i].key的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使...

冒泡排序算法

  • 2011-12-07 20:48
  • 690B
  • 下载

冒泡排序算法

  • 2012-10-08 11:34
  • 652B
  • 下载

java冒泡排序算法

package com.yunix.bubbleSort; import java.util.Random; public class Sort { /** * 冒泡排序 * 典型的一...

java冒泡排序算法

  • 2015-08-30 11:59
  • 230B
  • 下载

易语言冒泡排序算法

冒泡排序算法(Bubble Sort) Java实现

冒泡排序的基本思想: 两两相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。 import java.util.Arrays; import java.util.Random; /** ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)