基礎演算法之選擇排序演算法

2022-04-28 22:06:20 字數 661 閱讀 5314

在要排序的一組數中,選出最小(或者最大)的乙個數與第1個位置的數交換;然後在剩下的數當中再找最小(或者最大)的與第2個位置的數交換,依次類推,直到第n-1個元素(倒數第二個數)和第n個元素(最後乙個數)比較為止。

**:

>>> def

select_sort(array):

for i in range(len(array)-1):

for j in range(i+1,len(array)):

if array[i] >array[j]:

array[i],array[j] =array[j],array[i]

>>> array = [265,3,454,54,65,78,234,101,21]

>>>select_sort(array)

>>> print

(array)

[3, 21, 54, 65, 78, 101, 234, 265, 454]

選擇排序複雜度: 

時間複雜度: 最好情況o(n^2), 最壞情況o(n^2), 平均情況o(n^2)

空間複雜度: o(1)

穩定性: 不穩定

舉個例子:序列5 8 5 2 9, 我們知道第一趟選擇第1個元素5會與2進行交換,那麼原序列中兩個5的相對先後順序也就被破壞了。

**

演算法基礎之選擇排序

說一下選擇排序的基本演算法 現在有這樣乙個陣列,3 4 6 1 7 2 5 8 我們對其進行從小到大的排序 現在我們預設陣列中第乙個元素就是陣列中的最小值,將它與其後邊的所有元素進行比較,當有元素的值小於當前預設最小元素時,交換這兩個元素的順序。當陣列第乙個元素小於後邊所有元素時,我們再用陣列第二個...

演算法基礎之選擇排序

選擇排序是排序演算法當中的入門演算法,相信學過資料結構與演算法的同學都是從這個排序開始的吧。大一接觸選擇排序演算法的時候覺得好簡單 相比氣泡排序來說 因為它的實現方式比較接近於人的思維方式。顧名思義,選擇排序演算法,起碼會有個 選擇 的過程吧?沒錯,選擇排序就是設定了兩個區域,乙個為有序區,另乙個則...

演算法 algorithms 基礎之 選擇排序

演算法 algorithms 基礎之 選擇排序 沒那麼簡單的部落格 陣列a中有n個數,首先找出a中的最小元素並將其與a 1 中的元素進行交換。接著,找出a中的次最小原始並將其與a 2 中的元素進行交換。對a中前n 1個元素按該方式繼續。該演算法稱為選擇演算法。假定陣列a 5,2,4,6,1,3 是需...