1. 程式人生 > >用python語言實現選擇排序

用python語言實現選擇排序

選擇排序:

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

程式碼思想:

   以第一個開始,引數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次方)