Python 选择排序

博客介绍了Python实现选择排序的方法,每次选择最小元素与前面元素交换,循环次数为n-1、n-2直到1,平均和最坏复杂度均为O(n²)。该排序不稳定,还提到了选取最小值下标及交换下标的注意要点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python 选择排序

每次选择最小,然后和第一个交换,第二个交换,循环次数n-1,n-2,…1,n(n-1)/2,平均复杂度 O(n2) O ( n 2 ) ,最坏复杂度 O(n2) O ( n 2 )

每次进行交换,不稳定,比如将相同的第一个数交换到末尾,那就和中间与其相同的数的顺序改变

def select_sort(L):
    for i in range(len(L)-1):
        # 先取第一位数作最小
        # 循环次数n-1,最后一次只剩下一个,不用排序
        min_ = i
        for j in range(i,len(L)):
            # 在i到剩余范围内查找
            if L[j] < L[min_]:
                # 这里是和min_进行比较,所以用min_,而不是i
                min_ = j
        L[i], L[min_] = L[min_], L[i]       

注意要点:选取最小值下标,和最小值进行交换下标,最后和前面的 i 下标值交换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值