冒泡排序算法到底怎么冒泡?(2)
接上一篇文章
上一篇文章我们介绍了冒泡算法的一些概念和演示效果图,并没有涉及深层次的时间复杂度等概念。下面我们来看看冒泡算法的时间复杂度。
时间复杂度
- 什么是时间复杂度?
定性的描述算法的运行时间,通常以大O表示。
- 时间复杂度怎么计算?
冒泡算法的时间复杂度是和算法中相邻两个数据的比较次数和移动次数成正比的。具体如下:
数据个数 | 比较次数 | 最大移动次数 | 最小移动次数 |
---|---|---|---|
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)
冒泡算法的优缺点
- 优点:简单,空间复杂度低,稳定
- 缺点:时间复杂度高,效率低
算法效果展示
源码下载
- 请在公众号中回复“算法源码”即可获得十大经典排序算法源码
更多算法学习请关注我的公众号
以上是 冒泡排序算法到底怎么冒泡?(2) 的全部内容, 来源链接: utcz.com/a/24531.html