搜索算法,一觸即達:GitHub上有個規模最大的開源算法庫
我們知道,算法本質上是一套規則,它接受一個或多個輸入,然后執行內部計算和數據操作,返回一個或多個輸出。從復雜的數據操作和哈希,到簡單運算,算法通過一系列步驟來產出有用的結果。舉個例子,算法可以是一個簡單的函數,它接受兩個輸入值,將它們相加,然后返回總和。
然而,科學世界的算法何止萬千,如何快速找到自己需要的算法是一個不容忽視的問題。
GitHub 上的一個項目「The Algorithms」是我們尋求的終極答案,它號稱「規模最大的開源算法庫」。

- 網頁地址:https://the-algorithms.com/#aboutUs
- 項目地址:https://github.com/TheAlgorithms
首先來看「熱門分類」,我們可以找到如下領域的算法:
- 排序(Sorts)算法
- 搜索(Searches)算法
- 動態規劃(Dynamic Programming)算法
- 加密(Ciphers)算法
- 數據結構(Data Structures)算法
- 數學(Math)算法
- 數字圖像處理(Digital Image Processing)算法
- ……

然后,各個「熱門分類」下面涵蓋具體的算法。這里以動態規劃算法為例,我們可以看到編輯距離(Edit Distance)、子集和問題(Sum of Sunset)、最小分區(Minimum Partition)等子算法。

接著點擊每個子算法右下的「MORE」,這里以編輯距離算法為例,我們可以鏈接到算法提出者、日期、問題描述以及貢獻者等。

最后,「The Algorithms」庫還分別提供了用 Python、Java、C、C++ 等數十種編程語言實現的算法,每種語言都有自己的 GitHub 算法代碼庫。

部分編程語言。
這里以 Python 編程語言實現的算法為例,我們可以看到音頻濾波器(Audio Filters)、位操作(Bit Manipulation)、回溯(Backtracking)算法等。同樣點擊每個算法右下的「More」鏈接到詳情頁。

使用 Python 實現的部分算法。
此外,我們還可以通過網站主頁上的搜索框找到任何自己想要的算法。
