插入排序演算法 python實現

2021-10-04 23:37:19 字數 817 閱讀 5622

話不多說,直接上**

def

insert_sort

(a):

lens =

len(a)

for i in

range(1

, lens)

: value = a[i]

j = i-

1while a[j]

> value and j>=0:

a[j+1]

= a[j]

j = j-

1 a[j+1]

= value

return a

if __name__ ==

'__main__'

: b =

input

("please input an array:"

) a_list = b.split(

" ")

a =list

(map

(int

,a_list)

)print

("sort before:"

,end="")

print

(a)print

("sort after:"

,end="")

print

(insert_sort(a)

)

插入排序演算法整體不難,主要掌握的就是value的選擇,每次排序之前,列表都是排序好的,以及陣列下標不要越界。

時間複雜度:最壞情況是o(n² ),平均情況是o(n² ),最好情況是o(n),這是一種穩定的排序演算法

python實現插入排序演算法

插入排序,其原理是通過構建乙個初始的有序序列,然後從無需序列中抽取元素,插入到有序序列的相對排序位置,就像將一堆編號混亂的書,一本一本的放到書架上,找到上下編號之間的位置插入,最後完成整理。python實現插入排序並不難,從第二個位置開始遍歷,與它前面的元素相比較,如果比前面元素小就交換位置,實現如...

python實現插入排序演算法

插入排序,其原理是通過構建乙個初始的有序序列,然後從無需序列中抽取元素,插入到有序序列的相對排序位置,就像將一堆編號混亂的書,一本一本的放到書架上,找到上下編號之間的位置插入,最後完成整理。python實現插入排序並不難,從第二個位置開始遍歷,與它前面的元素相比較,如果比前面元素小就交換位置,實現如...

python實現插入排序演算法

插入排序,其原理是通過構建乙個初始的有序序列,然後從無需序列中抽取元素,插入到有序序列的相對排序位置,就像將一堆編號混亂的書,一本一本的放到書架上,找到上下編號之間的位置插入,最後完成整理。python實現插入排序並不難,從第二個位置開始遍歷,與它前面的元素相比較,如果比前面元素小就交換位置,實現如...