每次遍历数组,比较相邻两个元素,如果他们的顺序错误,就将他们交换,直到数组中所有元素都被遍历过。
1、遍历数组的第一个元素到最后一个元素。
2、对每一个元素,预期后一个元素进行比较。
3、如果顺序错误,就将他们交换。
重复上述步骤,直到数组中所有元素都被遍历过至少一次。
时间复杂度:
为0~n-1的等差数列求和,为n(n-1)/2。
因此,总的时间复杂度为O(n^2)。
空间复杂度:
算法在执行过程中只有在交换变量时才采用了临时变量的方式,没有采用任何额外的空间,因此,空间复杂度为O(1)。
优点:
1、实现简单
2、稳定排序
缺点:
1、效率低,需要进行多次比较和交换。
2、对于大型数组,冒泡1排序时间复杂度较高,速度慢。
外层循环是可以提前终止的,在首轮比较过程中没有发生交换,可以直接跳出循环,算法提前终止。
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/146160.html