我们知道,算法本质上是一套规则,它接受一个或多个输入,然后执行内部计算和数据操作,返回一个或多个输出。从复杂的数据操作和哈希,到简单运算,算法通过一系列步骤来产出有用的结果。举个例子,算法可以是一个简单的函数,它接受两个输入值,将它们相加,然后返回总和。

然而,科学世界的算法何止万千,如何快速找到自己需要的算法是一个不容忽视的问题。

GitHub 上的一个项目「The Algorithms」是我们寻求的终极答案,它号称「规模最大的开源算法库」。

搜索算法,一触即达:GitHub上有个规模最大的开源算法库

  • 网页地址:https://the-algorithms.com/#aboutUs
  • 项目地址:https://github.com/TheAlgorithms

首先来看「热门分类」,我们可以找到如下领域的算法:

  • 排序(Sorts)算法
  • 搜索(Searches)算法
  • 动态规划(Dynamic Programming)算法
  • 加密(Ciphers)算法
  • 数据结构(Data Structures)算法
  • 数学(Math)算法
  • 数字图像处理(Digital Image Processing)算法
  • ……
搜索算法,一触即达:GitHub上有个规模最大的开源算法库

然后,各个「热门分类」下面涵盖具体的算法。这里以动态规划算法为例,我们可以看到编辑距离(Edit Distance)、子集和问题(Sum of Sunset)、最小分区(Minimum Partition)等子算法。

搜索算法,一触即达:GitHub上有个规模最大的开源算法库

接着点击每个子算法右下的「MORE」,这里以编辑距离算法为例,我们可以链接到算法提出者、日期、问题描述以及贡献者等。

搜索算法,一触即达:GitHub上有个规模最大的开源算法库

最后,「The Algorithms」库还分别提供了用 Python、Java、C、C++ 等数十种编程语言实现的算法,每种语言都有自己的 GitHub 算法代码库。

搜索算法,一触即达:GitHub上有个规模最大的开源算法库

部分编程语言。

这里以 Python 编程语言实现的算法为例,我们可以看到音频滤波器(Audio Filters)、位操作(Bit Manipulation)、回溯(Backtracking)算法等。同样点击每个算法右下的「More」链接到详情页。

搜索算法,一触即达:GitHub上有个规模最大的开源算法库

使用 Python 实现的部分算法。

此外,我们还可以通过网站主页上的搜索框找到任何自己想要的算法。

搜索算法,一触即达:GitHub上有个规模最大的开源算法库

Categories:

沪ICP备13010850号

沪公网安备 31011202002768号