Python演算法之選擇排序(八)

2021-10-03 15:59:11 字數 758 閱讀 6698

原理:第一次從待排序的資料元素中選出最小(或最大)的乙個元素,存放在序列的起始位置,然後再從剩餘的未排序元素中尋找到最小(大)元素,然後放到已排序的序列的末尾。以此類推,直到全部待排序的資料元素的個數為零。選擇排序是不穩定的排序方法。

def

selection

(alist)

: n =

len(alist)

# 需要進行n-1次選擇操作

for i in

range

(n-1):

# 記錄最小位置

min_index = i

# 從i+1位置到末尾選擇出最小資料

for j in

range

(i+1

, n)

:if alist[j]

< alist[min_index]

: min_index = j

# 如果選擇出的資料不在正確位置,進行交換

if min_index != i:

alist[i]

, alist[min_index]

= alist[min_index]

, alist[i]

alist =[52

,26,90

,17,47

,32,64

,25,20

]selection(alist)

print

(alist)

Python排序演算法之選擇排序

在一趟排序過程中記錄最小的數,放到第乙個位置上 再來一趟排序記錄無序區最小的數,放到第二個位置上 依次類推 最壞情況 o n 2n 2 n2 平均情況 o n 2n 2 n2 最好情況 o n 2n 2 n2 o 1 不穩定 簡單 趟數 n 1 無序區範圍 趟數 1 n usr bin python...

python演算法之選擇排序

選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。選擇排序的主要優點與資料移動有關。如果某...

python演算法之選擇排序

選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。選擇排序的主要優點與資料移動有關。如果某...