1. 程式人生 > 實用技巧 >Python 選擇排序

Python 選擇排序

第一節: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)