Python 選擇排序
阿新 • • 發佈:2020-07-28
第一節:Python 選擇排序
1.1 演算法概述
選擇排序是一種簡單直觀的排序演算法,無論什麼資料進去都是 O(n2) 的時間複雜度,所以用到它的時候,資料規模越小越好。唯一的好處可能就是不佔用額外的記憶體空間了吧。
1.2 演算法步驟
(1)首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置;
(2)再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾;
(3)重複第二步,直到所有的元素均排序完畢。
1.3 動圖演示
1.4 演算法實現
nums = [8, 7, 4, 2, 6, 5, 1, 9, 3] def selectSort(iterable): lst= iterable length = len(lst) for i in range(length - 1): #記錄最小數的索引值 minIndex = i for j in range(i + 1, length): if lst[j] < lst[minIndex]: minIndex = j if i != minIndex: lst[i], lst[minIndex] = lst[minIndex], lst[i]return lst selectSort(nums)