python 選擇排序的python語法實現

2021-09-17 04:37:29 字數 795 閱讀 5434

選擇排序(selection sort)是⼀種簡單直觀的排序演算法。它的⼯作原理如下。⾸先在未排序序列中找到最⼩(⼤)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最⼩(⼤)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。

選擇排序的主要優點與資料移動有關。如果某個元素位於正確的最終位置上,則它不會被移動。選擇排序每次交換⼀對元素,它們當中⾄少有⼀個將被移到其最終位置上,因此對n個元素的表進⾏排序總共進⾏⾄多n-1次交換。在所有的完全依靠交換去移動元素的排序⽅法中,選擇排序屬於⾮常好的⼀種。

語法實現:

def select_sort(alist):

"""選擇排序"""

n = len(alist)

for j in range(n - 1):

min_index = j

for i in range(j + 1, n):

if alist[i] < alist[min_index]:

min_index = i

if j != min_index:

alist[j], alist[min_index] = alist[min_index], alist[j]

if __name__ == '__main__':

li = [54, 26, 93, 17, 77, 31, 44, 55, 20]

print(li)

select_sort(li)

print(li)

python排序實現 經典排序演算法python實現

一 氣泡排序 1 從前往後相鄰元素進行對比,如果前乙個元素大於後乙個元素則交換,將最大的元素 浮 到最後的位置上 2 再對前n 1個元素進行相同操作 3 持續對越來越少的元素進行相同操作,每一輪都選出當前的最大數,直到沒有任何元素需要比較 優化 1 若某一輪沒有進行任何交換,則說明已經有序,不需要再...

Python 選擇排序中的樹形選擇排序

目錄 選擇排序裡面主要講了三個排序,分別是簡單選擇排序 樹形選擇排序 堆排序。今天這篇文章主要講樹形選擇排序,樹形選擇排序也被稱為錦標賽排序,樹形選擇排序運用了錦標賽的思想進行排序,樹形選擇排序是指首先對n個記錄的關鍵字進行兩兩比較,然後在n 2個較小者之間再進行兩兩比較,如此重複,直至選出最小的記...

Python 選擇排序

coding utf 8 選擇排序 在所有記錄中選擇最小的乙個元素,與第乙個記錄交換,依次,在其餘的記錄中選擇最小的元素與第二個元素交換 def sellectsort list list 4,1,9,13,34,26,10,7,4 m len list if m 2 如果是空表或只有乙個元素,返回...