大數據文摘授權轉載自Python專欄
逛 Github看到一個好東西,必須跟大家分享一下。
這個項目簡單來說就是集合了所有常用算法,用 Python 全部實現了一遍,可以說就像個 Python 算法字典,需要用到的時候查一下就行,
目前,這個項目已經收集了 800+ 的算法,在 Github 上標星已經將近10w了,fork 數也近3萬,
Githu鏈接b:
https:http://github.com/TheAlgorithms/Python
我們來看看都有什么算法。
這個項目的算法也是按照字典 A-Z 分類排列的,比如第一個大類就是 Arithmetic Analysis,這個大類里面包括了常見的對分法、高斯消元、交叉法、牛頓法等等。
像這樣的算法,這個項目收集了800多個,胖哥不得不說,真是牛逼!
另外這個項目還集合了歐拉計劃的 Python 算法,每個問題都提供了多種 Python 算法。
歐拉計劃(Project Euler)是一系列有挑戰性的數學與計算機編程題;要解開它們,需要的不只是數學知識,還要有靈活的思路。
當然,這些算法都是世界各地的編程高手提供的,所以算法的質量也是有保證的。
算法都滿足如下要求:
-
具有直觀的類名和函數名,使讀者能夠清楚地了解其目的
-
使用 Python 命名規則和直觀的變量名來簡化理解
-
可以靈活地接受不同的輸入值
-
使用 Python 類型提示輸入參數和返回值
-
對錯誤的輸入值引發 Python 異常(ValueError 等)
-
有清晰解釋的文檔字符串或者來源鏈接
-
包含有效測試和錯誤輸入值的 doctest
-
返回所有的計算結果,而不是只列印或繪制它們
總之,這個項目非常適合 Python 學習者學習,比如你正在解決什么問題,需要用到某一種算法,自己寫出來的有錯誤或者不夠優美,都可以到這個項目中找找試試。
還可以到里面找一些項目練練手,參考不同的解法來提升自己的代碼能力,簡直完美!
mark[微笑]