選擇排序
選擇排序是一種簡單直觀的排序演算法,用到它的時候,資料規模越小越好。唯一的好處可能就是不占用額外的記憶體空間了吧。
演算法步驟
**演示
**實現
function
selectionsort
(arr)
} temp = arr[i]
; arr[i]
= arr[minindex]
; arr[minindex]
= temp;
}return arr;
}
def
selectionsort
(arr)
:for i in
range
(len
(arr)-1
):# 記錄最小數的索引
minindex = i
for j in
range
(i +1,
len(arr)):
if arr[j]
< arr[minindex]
: minindex = j
# i 不是最小數時,將 i 和最小數進行交換
if i != minindex:
arr[i]
, arr[minindex]
= arr[minindex]
, arr[i]
return arr
十大經典演算法排序(2)
選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法 比如序列 5,5,3 第一次就將第乙個 5 與 3 交換,導致第乙個5挪動到第二個...
十大經典排序演算法之 選擇排序
選擇排序的工作原理簡單直觀,和氣泡排序也有異曲同工之處,它將需要排序的陣列分為有序區和無序區,首先在無序區選出最小的數,放到有序區的末尾 有序區為從小到大排序好的陣列,因此此時從無序區選出的最小的數一定大於有序區中最大的數 以此類推,直到陣列有序。時間複雜度 平均 時間複雜度 最壞 時間複雜度 最好...
十大經典排序演算法(二 選擇排序)
首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置。再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。重複第二步,直到所有元素均排序完畢。1 function selectionsort arr 10 11 temp arr i 12 arr i arr minind...