插入排序(英語:insertion sort) 是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序在實現上,在從後向前掃瞄過程中,需要反覆把已排序元素逐步向後挪位,為最新元素提供插入空間。
插入排序**實現:
def
insert_sort
(alist)
: n =
len(alist)
# 插入排序將整個序列分成兩部分,左邊的有序序列和右邊的無序序列
# 從右邊的無序序列中取出多少個元素執行這樣的過程
# 一般是從第二個元素開始到最後乙個
for i in
range(1
, n)
: j = i
# 取出右邊無序序列的第乙個元素
while j >0:
if alist[j]
< alist[j-1]
: alist[j]
, alist[j-1]
= alist[j-1]
, alist[j]
j -=
1else
:break
# for j in range(i, 0, -1): # 與上面的迴圈是等價的
# if alist[j] < alist[j - 1]:
# alist[j], alist[j - 1] = alist[j - 1], alist[j]
if __name__ ==
'__main__'
: li =[54
,26,93
,17,77
,31,44
,55,20
]print
(li)
insert_sort(li)
print
(li)
插入排序的時間複雜度插入排序演示: python資料結構與演算法 插入排序
插入排序 英語 insertion sort 是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序在實現上,在從後向前掃瞄過程中,需要反覆把已排序元素逐步向後挪位,為最新元素提供插入空間。從第二個位置,即下標為1的元素開...
6 3插入排序(python資料結構與演算法)
插入排序 insertion sort是一種簡單直觀的排序演算法。工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序在實現上,在從後向前掃瞄過程中,需要反覆把已排序元素逐步向後挪位,為最新元素提供插入空間。別和選擇排序搞混 實現 方法一 defins...
python資料結構與演算法
coding utf 8 import sys 使用以下語句將引數的str格式轉換為int格式 l list map int sys.argv 1 split target int sys.argv 2 def binarysearch print l print target left 0 rig...