1、什麼是選擇排序python
選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工做原理是每一次從待排序的數據元素中選出最小(或最大)的一個元素,存放在序列的起始位置,直到所有待排序的數據元素排完。 選擇排序是不穩定的排序方法。算法
2、選擇排序的思想
app
每次循環時假定最前面的值時是最大或最小的dom
而後找到後面值中最大或最小值與之交換ide
選擇排序的時間複雜度也是O(n^2),可是因爲交換次數比冒泡排序要少,因此比冒泡排序快spa
3、Python代碼實現排序
import random import time def selection_sort(array): length = len(array) for i in range(0, length-1): min = i for j in range(i+1, length): if array[min] > array[j]: min = j array[i], array[min] = array[min], array[i] return array if __name__ == "__main__": start_time = time.time() array = [] for i in range(1000): array.append(random.randrange(10000)) print(array) new_array = selection_sort(array) print(new_array) end_time = time.time() print(end_time-start_time)
最外層循環時,先假定i當前值時最小的,而後內循環遍歷剩餘值,當發現比i小的值時,先不交換,僅僅把min的值換成較小的值的下標,等內循環結束時,再交換i與min下標的值。
get