排序演算法
Section outline
-
選擇排序演算法(Selection Sort)
是一種簡單容易理解的演算法,其概念是反覆從未排序的數列中取出最小的元素,加入到另一個的數列,結果即為已排序的數列。運算流程如下:
- 從未排序的數列中找到最小的元素。
- 將此元素與未排序部分的第一個元素進行交換。
- 重複以上動作直到未排序數列全部處理完成。
範例:
8 2 1 5 3 4 6 7
1 2 8 5 3 4 6 7
1 2 8 5 3 4 6 7
1 2 3 5 8 4 6 7
1 2 3 4 8 5 6 7
1 2 3 4 5 8 6 7
1 2 3 4 5 6 8 7
1 2 3 4 5 6 7 8
氣泡排序演算法(Bubble Sort)
將最大的數值移動到陣列最後面,而較小的數值則逐漸的往陣列前端移動,就像有許多氣泡慢慢從底部浮出,因此成為氣泡排序法。運算流程如下:
- 比較相鄰的兩個元素,若前面的元素較大就進行交換。
- 重複進行1的動作直到最後面,最後一個元素將會是最大值。
- 重複進行1,2的動作,每次比較到上一輪的最後一個元素。
- 重複進行以上動作直到沒有元素需要比較。
範例:
8 2 1 5 3 4 6 7
2 8 1 5 3 4 6 7
2 1 8 5 3 4 6 7
2 1 5 8 3 4 6 7
2 1 5 3 8 4 6 7
2 1 5 3 4 8 6 7
2 1 5 3 4 6 8 7
2 1 5 3 4 6 7 8
1 2 5 3 4 6 7 8
1 2 5 3 4 6 7 8
1 2 3 5 4 6 7 8
1 2 3 4 5 6 7 8
- 氣泡排序法
- 插入排序法
- 選擇排序法