本篇部落格介紹選擇排序思路
遍歷列表,找到最小 / 最大的元素,放入新列表中。 如此迴圈,直到舊列表中沒有元素為止
時間複雜度:o(n*n)
**實現
def
findsmallest
(arr:
list)-
>
int:
smallest = arr[0]
smallest_index =
0for i in
range(1
,len
(arr)):
if arr[i]
smallest = arr[i]
smallest_index = i
return smallest_index
defselectionsort
(arr:
list):
new_arr=
for i in
range
(len
(arr)):
smallest = findsmallest(arr)
)return new_arr
selectionsort([2
,3,8
,4,1
,0])
'''[0, 1, 2, 3, 4, 8]
'''
當然上述**是有點重複造輪子了,用內建函式即可
sorted([
2,3,
8,4,
1,0]
)'''
[0, 1, 2, 3, 4, 8]
'''
python 排序演算法 選擇排序
所謂選擇排序,它是排序演算法中,一種簡單 直觀且靈巧的排序演算法,但是速度不是很快。選擇排序,見名思意就是選擇乙個元素,與其他元素進行比較,將乙個個的最大或最小值拿出來,放到另乙個列表中的這個過程,或者說行為我們稱之為選擇排序。1 首先得有乙個需要排序的列表,比如數字列表 2 拿到這個列表以後,我們...
Python 演算法 選擇排序
coding utf 8 選擇排序 defselect sort lst 基本思想 第1趟,在待排序記錄r1 r n 中選出最小的記錄,將它與r1交換 第2趟,在待排序記錄r2 r n 中選出最小的記錄,將它與r2交換 以此類推,第i趟在待排序記錄r i r n 中選出最小的記錄,將它與r i 交換...
python演算法 選擇排序
眾所周知,我們記憶體的工作原理就像我們逛商場時的存物櫃,每個櫃子只能放進乙個物品,你有兩樣物品要存,將物品存進 放進 櫃子裡後,你就可以去逛商場了 計算機就是多個櫃子的集合,每個單獨的櫃子都有自己的位址 而當我們需要存多個資料的時候,我們有兩種基本方式 陣列和鍊錶 我們還是拿我們的日常生活舉個栗子,...