資料結構32:選擇排序
選擇排序Selection Sort
選擇排序對氣泡排序進行了改進,保留了其基本的多趟對比的思路,每趟都使當前最大項就位。
但是選擇排序對交換進行了削弱,每趟僅進行一次交換,記錄最大項的所在位置,最後再跟本趟最後一項進行交換。
選擇排序的時間複雜度比氣泡排序稍優。
對比次數不變,還是O(n^2)
交換次數減少,為O(n)
def selectSort(alist):
for fillslot in range(len(alist)-1, 0, -1):
positionOfMax = 0
for location in range(1, fillslot+1):
if alist[location] > alist[positionOfMax]:
positionOfMax = location
temp = alist[fillslot]
alist[fillslot] = alist[positionOfMax]
alist[positionOfMax] = temp
return alist
相關文章
- 【資料結構】選擇排序!!!資料結構排序
- 【資料結構】選擇排序資料結構排序
- 複習資料結構:排序(三)——選擇排序資料結構排序
- 資料結構&演算法實踐—選擇排序資料結構演算法排序
- 資料結構與演算法——排序演算法-選擇排序資料結構演算法排序
- 【圖解資料結構】 一組動畫演示選擇排序圖解資料結構動畫排序
- 演算法與資料結構——選擇排序(c++)演算法資料結構排序C++
- 資料結構學習筆記-簡單選擇排序資料結構筆記排序
- 資料結構的選擇資料結構
- 資料結構和演算法:03.冒泡、選擇排序資料結構演算法排序
- 重學資料結構和演算法(四)之氣泡排序、插入排序、選擇排序資料結構演算法排序
- 演算法與資料結構系列 ( 三 ) - 選擇排序法- Select Sort演算法資料結構排序
- 看圖輕鬆理解資料結構與演算法系列(選擇排序)資料結構演算法排序
- python演算法與資料結構-氣泡排序(32)Python演算法資料結構排序
- 選擇結構
- 從零開始學資料結構和演算法(一)冒泡與選擇排序資料結構演算法排序
- 資料結構與排序資料結構排序
- 【資料結構】希爾排序!!!資料結構排序
- 【資料結構】希爾排序資料結構排序
- 【資料結構】堆排序資料結構排序
- 【資料結構】快速排序資料結構排序
- 【資料結構】歸併排序!!!資料結構排序
- 【資料結構】氣泡排序資料結構排序
- 【資料結構】歸併排序資料結構排序
- 選擇排序排序
- 【資料結構與演算法】內部排序之二:氣泡排序和選擇排序(改進優化,附完整原始碼)資料結構演算法排序優化原始碼
- 排序之選擇排序排序
- 排序演算法總結之直接選擇排序排序演算法
- 資料結構(python) —— 【18排序: 桶排序】資料結構Python排序
- 順序結構與選擇結構
- switch選擇結構使用
- 選擇排序和快速排序排序
- 資料結構第10章 排序資料結構排序
- 資料結構之計數排序資料結構排序
- 資料結構 堆排序 c Swift資料結構排序Swift
- 選擇排序中交換資料的不同方式出現的不同結果排序
- 複習資料結構:排序(一)——插入排序資料結構排序
- js選擇排序JS排序