python的冒泡排序和快速排序写法

本文介绍了Python中的冒泡排序和快速排序。冒泡排序通过相邻元素比较,逐步将最大值推至末尾,时间复杂度为n平方。优化后的冒泡排序在无交换情况下能提前终止。快速排序采用基准数划分,将小于基准的数放在左侧,大于的放右侧,再对新生成的子数组进行排序,时间复杂度为nlogn。
摘要由CSDN通过智能技术生成

python的冒泡排序和快速排序

冒泡排序: 相邻两个元素比较,大的排后面,第一次把最大的数排在最后一位;

​ 继续排,把第二大的数排在倒数第二位…

​ 冒泡排序总共排的次数为:1+2+3+…+n-1,共 n(n-1)/2,时间复杂度为n平方;

def bubble_sort(li):    
    s=range(len(li))[::-1] #交换次数[7, 6, 5, 4, 3, 2, 1, 0]    
    for i in s:        
        for j in range(i):            
            if li[j]>li[j+1]:                
                li[j],li[j+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值