今天就藉由 Python 來介紹下:
Python 氣泡排序法範例 bubble sort
在數列中第一個數開始,
選擇相鄰的兩個數做比較,
選擇相鄰的兩個數做比較,
只要兩者順序與要求的順序不對,
就交換兩者位置,
直到數列結束,
就交換兩者位置,
直到數列結束,
接著從數列中選擇第二個數進行比較,
重複上述步驟,
如此一來,
數列就會以最大值(或是最小值)排好。
透過之前介紹過的 Python Tutor,
可以實際觀看程式運行過程中各個值變化情形,
底下為實際的程式演示,有興趣可以點 Forward觀察看看:
還有其他有名的排序法,
比如選擇排序法、插入排序法等等,
這些都是基礎的 sorting 演算法。
當然,
直接使用 Python 的 sort()方法更加快速,
既然是學習,既然是做研究,
了解 sorting 的原理也不是什麼壞處,
就當作練習寫 sort 吧。
沒有留言:
張貼留言