標題:
選擇排序
[打印本頁]
作者:
鄭繼威
時間:
2023-7-21 01:36
標題:
選擇排序
本帖最後由 鄭繼威 於 2023-8-19 17:10 編輯
選擇排序法(Selection Sort)是排序演算法的一種,也是一種簡單容易理解的演算法,其概念是反覆從未排序的數列中取出最小的元素,加入到另一個的數列,結果即為已排序的數列。運算流程如下:
1.從未排序的數列中找到最小的元素。
2.將此元素取出並加入到已排序數列最後。
3.重複以上動作直到未排序數列全部處理完成。
流程示意圖:
然而實作上通常不使用額外的數列來儲存已排序的部分,而使用
原地(In-place)
的方式來完成,
數列的左半部表示已排序部分,右半部表示未排序部分
,不另外使用數列。從未排序部分找到最小的元素,利用交換的方式將元素放置已排序部分的尾端。運算流程如下:
1.從
未排序
的數列中找到
最小
的元素。
2.將此元素與
已排序
部分的尾端元素進行
交換
。
3.
重複
以上動作直到未排序數列全部處理完成。
流程示意圖:
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2