python insertion sort

本文详细介绍了直接插入排序的思想、时间复杂度、关键码比较次数和对象移动次数,并通过Python代码实现了该排序算法。此外,还阐述了直接插入排序的稳定性特性。

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

直接插入排序(insertion sort)

思想:用关键码依次比较待排序元素位置前面的关键码,找到要插入的位置,其后的元素依次后移。

时间复杂度:o(n*n)

关键码比较次数:n*n/2

对象移动次数:n*n/2

稳定性:稳定

#!/urs/bin/env python
# -*- encoding:utf-8 -*-

def insertsort(seq):
    for i in range(1, len(seq)):
        j = i - 1
        temp = seq[i]
        while seq[j]>temp and j >= 0:
            seq[j+1] = seq[j] 
            j = j - 1
        seq[j+1] = temp

if __name__ == '__main__':
    seq = [5, 2, 1, 3, 4, 8, 1]
    insertsort(seq)
    print seq


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值