冒泡排序 Bubble sort

冒泡排序是一种简单直观的排序算法,其算法执行流程如下

   

  冒泡排序通过重复的访问待排序序列,一次比较两个元素,按照既定的顺序决定交换两个元素的位置,每次走访待排序序列会确定一个元素的位置,再在剩余的序列重复进行操作,

称其为冒泡排序的原因是最小(大)的元素会经过交换浮至序列末尾。

  时间复杂度 O(N2):当N个数进行排序时,将进行T=[N*(N-1)]/2次,根据计算方法保留最高次N^2,因此选择排序的时间复杂度为O(N2);

  空间复杂度 O(1)  :因为排序中始终只用到了数组大小的空间,为常数,因此空间复杂度为O(1)。

python代码如下:

def bubble_sort(nums):
    for i in range(len(nums) - 1):
        for j in range(len(nums) - i - 1):
            if nums[j] > nums[j+1]:
                nums[j],nums[j+1] = nums[j+1],nums[j]

    return nums

 

posted @ 2022-06-20 19:50  Liang-ml  阅读(27)  评论(0)    收藏  举报