影片動畫 | 什麼是選擇排序?

  • 2019 年 12 月 23 日
  • 筆記

簡單選擇排序屬性

選擇排序(Selection sort)是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。

回顧一下上次快速排序的優化,減少不必要的交換,以後在解決過程中可以把符合條件的元素位置標記下來,因此可以定義一個標記變數,來標記本輪比較中最符合條件的元素,本輪結束時才進行最後一步的是否交換。

影片動畫:簡單選擇排序

Code

Result

初始狀態 [5, 1, 9, 3, 7, 4, 8, 6, 2]

下標0,1已交換[1, 5, 9, 3, 7, 4, 8, 6, 2]

下標1,8已交換[1, 2, 9, 3, 7, 4, 8, 6, 5]

下標2,3已交換[1, 2, 3, 9, 7, 4, 8, 6, 5]

下標3,5已交換[1, 2, 3, 4, 7, 9, 8, 6, 5]

下標4,8已交換[1, 2, 3, 4, 5, 9, 8, 6, 7]

下標5,7已交換[1, 2, 3, 4, 5, 6, 8, 9, 7]

下標6,8已交換[1, 2, 3, 4, 5, 6, 7, 9, 8]

下標7,8已交換[1, 2, 3, 4, 5, 6, 7, 8, 9]

——END——

推薦閱讀:

影片動畫 | 什麼是快速排序?

影片動畫 | 什麼是希爾排序?

影片動畫 | 什麼是插入排序?