python insertion sort

直接插入排序(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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章