冒泡排序为什么最佳负责度为O(n)

Posted alyz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序为什么最佳负责度为O(n)相关的知识,希望对你有一定的参考价值。

冒泡排序为什么最佳负责度为O(n)

  俗话说,武功高强与否在于一个人的内功,真正高手之间的对决,都在于内功!程序员也一样,要想进阶,必须从基础抓取,算法更是重中之重,于是最近在研究算法,先从排序练起。

  经常看见书上、博客上说冒泡排序最佳复杂度为O(n),可我看着代码一直算的是O(n^2),代码如下:

    技术分享图片

  后来经过一番研究,发现原来我写的冒泡排序只是个基本的demo,复杂度始终是O(n^2),后来经过了一些优化,发现最佳复杂度能达到O(N),代码如下:

    技术分享图片

  当传进去的数组为正序时,会执行技术分享图片

  这样,第一层循环只执行了1次,所以复杂度为O(N)。

  在此做下记录,希望能帮助有此有疑问的同学。

,

以上是关于冒泡排序为什么最佳负责度为O(n)的主要内容,如果未能解决你的问题,请参考以下文章

算法——排序算法个人总结

为啥冒泡排序是 O(n^2)?

算法基础之冒泡排序

同样的复杂度,为什么插入排序比冒泡排序更受欢迎?

冒泡排序和选择排序的Java实现

冒泡排序和选择排序的Java实现