1.算法:
設有一組關鍵字{ K 1 , K 2 ,…, K n };排序開始就認為 K 1 是一個有序序列;讓 K 2 插入上述表長為 1 的有序序列,使之成為一個表長為 2 的有序序列;然后讓 K 3 插入上述表長為 2 的有序序列,使之成為一個表長為 3 的有序序列;依次類推,最后讓 K n 插入上述表長為 n-1 的有序序列,得一個表長為 n 的有序序列。
2.python插入排序代碼
代碼如下:
def insertion_sort(list2):
for i in range(1, len(list2)):
save = list2[i]
j = i
while j > 0 and list2[j - 1] > save:
list2[j] = list2[j - 1]
j -= 1
list2[j] = save
結果:[2, 3, 4, 21, 33, 44, 45, 67]
3.時間復雜度:O(n*n)
新聞熱點
疑難解答