文档章节

冒泡排序

JiaChang
 JiaChang
发布于 2016/07/06 13:28
字数 331
阅读 35
收藏 1

冒泡排序

交换排序主要有冒泡排序和快速排序

实现思路:

对于n个数,最坏情况下需要进行n-1趟比较。

第1趟:依次比较第n-1和n-2索引处的数据,如果发现后一个数据大于前一个数据,就交换,再比较n-2与n-3索引处的数据...以此类推。经过第1趟比较最大的数据排在最前面。

第2趟:依次比较第n-1和n-2索引处的数据,大的往前放,第2趟比较结束之后第2大的数据排在第二的位置(注意:前面已经比较出来的数不在比较范围内,故循环次数应该减1)

......

 

实际上,冒泡排序每趟交换结束之后,不仅能把当前最大值选出排在最前面,还能部分理顺前面其他的元素。所以,一旦某一趟没有发生交换,即可提前结束排序

算法实现

 

算法总结:

冒泡排序算法的时间效率是不确定的,在初始数据有序的情况下,执行一趟冒泡排序。

最佳时间复杂度:O(n)

空间复杂度为:O(1)

冒泡排序是稳定的。

© 著作权归作者所有

上一篇: WebServices
下一篇: 直接选择排序
JiaChang
粉丝 3
博文 35
码字总数 21583
作品 0
海口
程序员
私信 提问

暂无文章

spring 本类中方法调用另外一个方法事务不生效

1、在spring配置文件中添加 <aop:aspectj-autoproxy expose-proxy="true"/> 声明自动代理 2、AopContext.currentProxy()来获取代理类 3、使用代理类proxy进行代理调用内部声明了事务的方法 ......

重城重楼
27分钟前
5
0
项目 banner 乱弹

------------------------------------------ 村上春树 ------------------------------------- 如果我爱你,而你也正巧爱我,你头发乱了的时候,我会笑笑地替你拨一拨,然后手还留恋地在你...

宿小帅
39分钟前
3
0
PHP获取未来七天的日期和星期

php获取未来七天的日期和星期代码 第一步:获取需要天数的日期,然后调用函数 //获取未来七天的日期 for($i=1;$i<8;$i++){ $dateArray[$i]=date('Y-m-d',strtotime(d...

一只懒猫-
51分钟前
2
0
总结:IO模型

分类 多路复用 参考文章: https://www.jianshu.com/p/6a6845464770 https://www.cnblogs.com/zingp/p/6863170.html https://blog.csdn.net/sehanlingfeng/article/details/78920423......

浮躁的码农
54分钟前
2
0
fabric-sdk-java 1.4安装说明

Hyperledger Fabric Java SDK是开发基于Hyperledger Fabric区块链的Java应用之必备开发包。本文将介绍如何在Maven、Gradle和Eclipse中安装使用最新1.4版本的Hyperledger Fabric Java SDK。 ...

汇智网教程
55分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部