Python算法之冒泡排序

Python算法之冒泡排序

冒泡排序的基本思想:

比较相邻的两个关键字,如果是逆序,进行交换,直到没有逆序元素为止。

时间复杂度:

  • 最好情况:O(n)
  • 最坏情况:O(n**2)
  • 平均情况:O(n**2)

空间复杂度:O(1)

属于稳定的排序算法

代码:

def bubble(arr):
    for i in range(len(arr)-1,0,-1):
        for j in range(i):
            if arr[j]>arr[j+1]:
                arr[j],arr[j+1]=arr[j+1],arr[j]
if __name__ == '__main__':

    arr=[54,28,98,17,88,42,55,21,0]
    print('排序前:')
    print(arr)
    print('排序后:')
    bubble(arr)
    print(arr)

运行结果:

排序前:
[54, 28, 98, 17, 88, 42, 55, 21, 0]
排序后:
[0, 17, 21, 28, 42, 54, 55, 88, 98]
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章