用python語言實現選擇排序
阿新 • • 發佈:2019-01-05
選擇排序:
找出序列中最小的放在最前面,再從後面的找最小的放在第二個位置,再從後的序列找出最小的放在第三個,相當於從原序列中找出最小的放在最前面,成一個新的序列,每找出一次最小值新序列多一個值,原序列少一個值。直至結束。
程式碼思想:
以第一個開始,引數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次方)