用python語言實現選擇排序

2021-09-01 16:14:27 字數 666 閱讀 9132

選擇排序:

找出序列中最小的放在最前面,再從後面的找最小的放在第二個位置,再從後的序列找出最小的放在第三個,相當於從原序列中找出最小的放在最前面,成乙個新的序列,每找出一次最小值新序列多乙個值,原序列少乙個值。直至結束。

**思想:

以第乙個開始,引數i等於第乙個數 ,與後面相比,誰比他小,i= 比他小的數,從頭至尾比較一遍,找出最小的,放在最前面,再次執行此迴圈。

def select_sort(alist):

n = len(alist)

for j in range(n-1):

min_index = j

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

if alist[min_index] > alist[i]:

min_index = i

alist[j],alist[min_index] = alist[min_index],alist[j]

if __name__ =="__main__":

li = [54,26,93,17,77,31,44,55,20]

print(li)

select_sort(li)

print(li)

選擇排序的最優時間複雜度為o(n的2次方)

最壞時間複雜度也為o(n的2次方)

go語言實現排序 選擇排序

大家都知道我們一般不會用直接選擇排序,因為時間複雜度比較高,相信大家對直接插入排序都不陌生,就是每次確定乙個當前的最小值或者最大值,我也在這個基礎上進行了一點小改進,即每次都確定乙個最大值和最小值 func selectsort nums int,n int int nums min nums fi...

選擇排序 C語言實現

選擇排序是一種簡單直觀的排序演算法,它與氣泡排序很相似,都是比較n 1輪,每輪 n 1 i 次每輪找出乙個最大 最小值。只不過冒泡放最後,選擇排序放最左。本文以從小到大排序為例 與冒泡的比較 冒泡是將相鄰的數逐個進行比較 從小到大為例 只要前面的比後面的大,就互換倆數,直到最後將最大的數 浮到 最末...

選擇排序,C語言實現

下面我們來介紹一下選擇排序。選擇排序的思想是每次都從剩餘的元素中找到最小值,然後把這個最小值放到已經有序的部分元素的後面。這個過程的時間複雜度為o n 一共需要找n個元素,所以總的時間複雜度是o n2 其中,尋找最小值的 如下 int minindex i int min arr i for int...