資料結構(6) 選擇排序

2021-09-29 22:11:52 字數 1107 閱讀 7461

思路:

先假設第乙個數最小,然後依次拿後面的數和最小的數比較,如果比第乙個數小,則和第乙個數交換位置,一輪過後,第乙個數是最小的

比如:

第1(i)輪 最小值下標初始為0 即第乙個數 剩下的 n-1個數,從 第2個數開始進行比較

第2輪 最小值下標初始為1 即第二個數 剩下的n-2個數 ,從第 3個數開始進行比較,

所以 j=i+1 一直到 下標為n-1 ,

「」"時間複雜度:

o(n^2)

因為必須要遍歷才知道是不是最小

穩定性:不穩定

同鍵的,即值相等的,可能因為最小的值交換,而移動位置

def

select_sort

(list):

n =len(

list

)# 每次都要選擇乙個最小值,需要進行n-1次遍歷

for i in

range(0

, n -1)

:# 假設最小位置從i 開始,之後每次內迴圈之後,i會加1 i~[0,1,2,3...n-1]

min_index = i

# j從 i+1的位置開始,進行比較選擇到末尾 n-1, j~[0,1,2....n-2]

for j in

range

(i +

1, n):if

list

[min_index]

>

list

[j]:

min_index = j

list

[min_index]

,list

[i]=

list

[i],

list

[min_index]

# 注意:每次比較只是更改min_index的值,等到一輪迴圈完畢後,再交換值

list=[

3,7,

5,1,

9]select_sort(

list

)print

(list

)

資料結構 排序 選擇排序

選擇排序 所謂選擇排序,就是不斷從剩下的元素中選擇最小的元素放入前面,那麼 前面 我們就從下標為 0 i 0 的第乙個元素開始 此時我們假設下標為 0 的元素是最小的,minindex 0,minindex 就是最小值的索引 相應的剩下的元素則從 i 1 的位置開始,也就是從 1 開始,然後依次與 ...

資料結構 排序(選擇排序)

排序 選擇排序法 include include include include 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法 ...

資料結構 選擇排序

選擇排序是一種比較直觀的排序方法 選擇排序的思想在於 預設公升序排序 在乙個陣列當中,選擇這個陣列當中最小的元素,將這個元素放在第一位,然後尋找第二小的元素,將這個元素放在第二位。以此類推,直到將這個陣列完成排序。這是乙個比較直觀的排序方法 選擇排序 演算法思想 在遍歷陣列的時候 找出陣列當中最小的...