十大經典排序演算法 2 選擇排序

2021-10-03 15:05:23 字數 860 閱讀 3436

選擇排序

選擇排序是一種簡單直觀的排序演算法,用到它的時候,資料規模越小越好。唯一的好處可能就是不占用額外的記憶體空間了吧。

演算法步驟

**演示

**實現

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...