原理:第一次從待排序的資料元素中選出最小(或最大)的乙個元素,存放在序列的起始位置,然後再從剩餘的未排序元素中尋找到最小(大)元素,然後放到已排序的序列的末尾。以此類推,直到全部待排序的資料元素的個數為零。選擇排序是不穩定的排序方法。
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 是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。選擇排序的主要優點與資料移動有關。如果某...