選擇排序是什麼
是一種簡單的演算法。原理是在未排序的數列找出最小值(或最大值),並放在已排序數列的尾端,直到數列排序完成。適合小數據。
舉例
有一個數列[64, 25, 12, 22, 11]做選擇排序。
1. 數列中選最小值11,跟第一個元素交換[11,|25, 12, 22, 64]。
2. 在未排數列選最小值12,與元素25交換 [11,12|25, 22, 64]。
3. 在未排數列選最小值22,與元素25交換 [11,12,22|25, 64]。
4. 在未排數列選最小值25,放在已排數列尾端[11,12,22,25, |64]。
5. 在未排數列選最小值64,放在已排數列尾端[11,12,22,25, 64|]。
時間複雜度
遍歷數列所有元素找出最小值比n次,對每個最小值找適當位置(比n次)放置。所以時間複雜度為O(n^2)。
沒有留言:
張貼留言
寫下幸福點子吧!