冒泡排序(高阶版)

接上一篇文章

上一篇文章我们介绍了冒泡算法的一些概念和演示效果图,并没有涉及深层次的时间复杂度等概念。下面我们来看看冒泡算法的时间复杂度。
冒泡排序(高阶版)
冒泡排序(高阶版)
冒泡排序(高阶版)
冒泡排序(高阶版)
冒泡排序(高阶版)
冒泡排序(高阶版)

时间复杂度

  1. 什么是时间复杂度?

定性的描述算法的运行时间,通常以大O表示。

  1. 时间复杂度怎么计算?

冒泡算法的时间复杂度是和算法中相邻两个数据的比较次数移动次数成正比的。具体如下:

数据个数 比较次数 最大移动次数 最小移动次数
1 0 0 0
2 1 1 0
3 3 3 0
4 6 6 0
5 10 10 0
10 45 45 0
N 1/2N(N-1) 1/2N(N-1) 0

所以根据时间复杂度的概念,冒泡算法的时间复杂度为O(N^2)

冒泡算法的优缺点

  • 优点:简单,空间复杂度低,稳定
  • 缺点:时间复杂度高,效率低

算法效果展示

冒泡排序(高阶版)

源码下载

  • 链接如下https://download.****.net/download/zhuzi9/12449512

更多算法学习请关注我的公众号

冒泡排序(高阶版)