您的位置:首页 > 编程语言 > Python开发

python insertion sort

2011-11-03 21:53 253 查看
直接插入排序(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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: