Python演算法實戰:冒泡
來源:https://blog.ansheng.me/article/python-full-stack-way-digital-datda-type/
冒泡演算法即冒泡排序,其目的就是為一個無序的列表排成有序的,從大到小或從小到大都可以
題外話
變數位置的互換
假設現在有兩個變數a1與a2:
如何調換這兩個變數的位置,即結果就是讓 , ?
解:添加一個中間變數temp,其過程如下:
輸出結果為:
列表位置的互換
現在有一個列表 ,內容為:
現需要把 列表中的第一個位置元素與第二個位置元素互換,其解決方法就可以引用一個中間變數 :
輸出結果:
圖解運作原理
列表內容為:
文字描述
比較相鄰的元素,如果第一個比第二個大,就交換他們兩個的位置。
對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對,這步做完後,最後的元素會是最大的數。
針對所有的元素重複以上的步驟,除了最後一個,也就是每次比較之後最大的書不做任何操作。
持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
代碼實現
輸出結果:
點擊展開全文
※Python 演算法實戰系列:棧
※Selenium中級篇之10-Python中的繼承的使用
※用 Python 寫一個 NoSQL 資料庫
※中級篇之8-Python自定義封裝一個簡單的Log類
※Selenium中級篇之7-Python中字元串切割操作
TAG:Python |
※Adaboost演算法及python實戰
※MeanShift濾波演算法與實現
※用Python 實現的機器人演算法示例集合——PythonRobotics
※Python LZW 演算法
※iPhone Xs 使用感測器測量深度,而 iPhone X?是通過演算法實現
※用 Python 實現所有演算法!Github 星標近 5w
※Tamar Charney:重視演算法的力量
※Bayesian Personalized Ranking 演算法解析及Python實現
※Facebook開源「Detectron」,用於AR研究的計算機視覺演算法!
※演算法:Sums In A Triangle
※演算法基礎:五大排序演算法Python實戰教程
※長文詳解自然語言處理演算法xgboost和python實戰
※使用Caicloud TaaS 平台落地深度學習演算法實戰
※加速AR對象分類,Facebook開源計算機視覺演算法Detectron
※又一公鏈採用Tensority演算法
※Deep Forest 演算法解讀
※人工智慧–Autoencoder演算法
※使用DFA攻擊硬體的AES演算法,並從PlayStation Vita中提取硬體密鑰
※Equihash演算法礦機 Z9 mini問世,又一個演算法被ASiC攻克!
※CatBoost、LightGBM、XGBoost,這些演算法你都了解嗎?