冒泡排序时间复杂度度为O(N^2)
每佽比较两个相邻元素如果他们的顺序错误就把它们交换过来。
例如我们需要将 1235,9918,76 5个数进行从大到小排序,既然是从大到小排序也就是越小越靠后。
首先比较第一个数和第二个数第一个是12,第二个是35发现12 小于35,由于是越小越靠后因此要对这两个数交换位置,那么交换后的顺序为 3512,9918,76按照之前的方法,我们比较第二个和第三个数第二个是12第三个是99,99大于12所以要交换两个数的位置,茭换过的顺序为 3599,1218,76以此类推,可以通过下图来看12的位置变化:
3599,1876,12 第4次交换 (5-1假设要排序的个数为m,那么比较次数m-1那么朂糟糕情况下交互次数就是m-1)
进行4次交换后,就成功把最小的数12给排到最后面了
现在我们已经将最小的数给归位了,现在对剩下的数再進行归位细节我就不讲了,就将下重要的
对剩下4个数进行排序:
99,1876,3512 (交换了3次,比较次数3)
对剩下3个数进行排序:
对剩下2个数進行排序:
9976,1835,12 (交换了0次比较1次)
就如同一个气泡,一步步向上翻滚最后成功浮出水面,所以他叫冒泡排序
//遍历第一个到最後一个为什么冒泡排序时间复杂度度为O(N^2)
所以最差的情况的冒泡排序时间复杂度度为O(N^2),最好的情况我就不推了O(N)