冒泡排序的基础知识部分(不含源码)

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

 

冒泡排序:

  原理:冒泡排序是重复的比较前后两个数据,将错误的顺序交换过来,每次交换后,就往后挪动一个数据,在比较。直到待排序列重复地进行到没有再需要交换,也就是说待排序列已经排序完成。

  时间复杂度:

  (1).如果待排序列是正序的话,那么待排序列只需要一次扫描,如果该序列的元素数量为n,那么时间复杂度为O(n)。O(n)为最好的时间复杂度。

  (2).如果待排序列不是正序的话,那么待排序列要进行n-1趟扫描,每趟扫描进行n-1次比较。因此时间复杂度为O(n2)。

  示例:(以Q,H,C,Y,P,A,M为例,进行字母的升序排列),见下图

  

 

 

 

 

  当然,上面的排序知识第一趟的排序过程(第一趟的结果为:H,C,Q,P,A,M.Y),要完好的将序列排列好,要经过n-1趟排序, 后面的排序过程就和第一趟的排序一样。

 

  冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,就不需要;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。

 

转载于:https://www.cnblogs.com/geore/p/5861304.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值