python實現選擇排序演算法

2021-09-11 23:48:36 字數 616 閱讀 7669

class sort:

# 選擇排序

# 演算法思想:不斷尋找剩餘元素中最小的乙個與當前位置元素交換

# 演算法特性:

# (1)執行時間與輸入的初始狀態無關

# (2)資料移動是最少的

# 時間複雜度:o(n^2)

# 空間複雜度:t(1)

# 穩定性:不穩定

def selection(self, m):

# 統計陣列長度

length = len(m)

# 假設當前索引元素最小

for i in range(length):

# 判斷當前元素後面的元素

for j in range(i+1, length):

# 找到其後最小的元素,與其交換

if m[i] > m[j]:

temp = m[j]

m[j] = m[i]

m[i] = temp

return m

if __name__ == '__main__':

s = sort()

m = [3, 2, 1]

print(s.selection(m))

選擇排序演算法 python實現

以公升序為例,選擇排序的基本思想是,選擇乙個基準數作為最小數,將剩下的數與之一一進行比較,如果有更小的數,則與基準數進行交換。基準數不斷後移,重複上述步驟。時間複雜度是o n 2 因為比較次數是 n 1 n 2 2 1 n n 1 2 n 1 n 2 2 1 n n 1 2class selsort...

python實現選擇排序演算法

選擇排序,簡單而直觀,其原理是把序列中的最小值或者最大值找出來放在起始位置,然後再從剩下的序列中找出極值放到起始位置之後,以此類推最後就完成排序。完成這個過程大致思想 首先需要乙個記錄器,記錄排序排到第幾個位置了,然後在剩餘的序列中找到極值下標,最後將記錄器位置和極值位置元素交換,完成本次選擇排序。...

經典排序演算法 選擇排序 python實現

選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理 首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。演算法描述 n個記錄的直接選擇排序可經過n ...