資料結構與演算法 python插入排序

2021-10-23 09:53:35 字數 1202 閱讀 6492

插入排序(英語: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...