计算机科学中的32种基本算法

Austria Institute of computing (Research Institute for Symbolic Computation symbols, referred to as RISC) Christoph Dr. Koutschan published an article on its own page, he mentioned a survey done, most participants are computer scientists, he asked the scientists to vote for the most important algorithms, the following is the results of the investigation, sorting according to the English names in alphabetical order:

1、A*搜索算法的图形搜索算法,从给定的起始点到一个给定的终点计算路径。启发式估计用于每个节点估计的最佳路径,节点通过设置每个位置的秩序。这些节点在算法的顺序访问。因此,A*搜索算法是最佳优先搜索的一个例子。

2,聚类搜索(也称为定向搜索、波束搜索)——最优搜索算法的优化,利用启发式函数对每个节点的能力进行评估,但是,聚类搜索只能在每一个深度中找到m个最符合的节点,而m是固定数目——簇的宽度。

3,二点查找(二进制搜索)——一种在线性数组中查找特定值的算法,每一步删除一半不符合要求的数据。

4,分支定义算法(分枝定界法)——在许多优化问题中,需要寻找特定的优化解,特别是离散和组合优化问题。

5、Buchberger算法的数学算法,可以被看作是一个泛化与Gauss Euclidean算法求解单变量消除法的最大公约数的线性系统。

6,数据压缩——通过使用特定的编码方案和使用较少的字节(或其他信息携带单元)来编码信息的过程,也称为信源编码。

7、Diffie-Hellman密钥交换算法,加密协议,允许双方建立共享密钥一起在不安全的通信信道不知道对方提前。钥匙后,后续的通信可以用对称密码加密。

8、Dijkstra算法的有向图无负权边,最短的单点算法计算。

9,离散微分算法(离散微分)

10、动态规划算法(动态规划)--显示相互覆盖和优化算法的子子体系

11、欧几里德算法(欧氏alrithm)个整数最大公约数计算。其中一个最古老的算法出现在欧几里得的几何原本在公元前300年。

12、期望最大化算法(期望最大化alrithm,又名EM-Training)--统计计算,期望最大化算法寻找最有可能的概率模型的参数估计,其中模型取决于未知的潜在variables.em交替在两步。第一步是计算期望值,通过使用隐藏变量的估计值计算最大可能的估计值,第二步是最大化第一步计算的最大可能值来计算参数的值。

13,快速傅立叶变换(快速傅立叶变换,FFT)计算离散傅立叶变换(DFT)及其反演,该算法的应用非常广泛,从数字信号处理到求解偏微分方程到大整数乘积的快速计算。

14,梯度下降(梯度下降)-一种数学优化算法。

15,散列算法(散列)

16,堆排序(堆)

17、Karatsuba乘法--我们需要完成成千上万的整数乘法,如计算机代数系统和大数库。如果我们使用长乘法,它太慢了。算法是在1962找到的。

18、LLL算法(Lenstra-Lenstra-Lovasz减格)输入晶格的基数(格),并输出短正交向量的基础。LLL算法广泛应用于以下的公共密钥加密方法:背包加密系统(背包),具体的RSA加密等。

19、最大流算法(最大流量)的算法试图找到一个交通网络的最大流。其优点是定义为找到这样一个流的价值。最大流问题可以看作是一个特殊的情况下,一个更复杂的网络流量问题,最大流量在网络界面相关,即最大流最小割定理(最大流最小割定理)。Ford Fulkerson可以在流发现网络最大流。

20、合并排序(合并排序)

21,牛顿方法(牛顿方法)是求解非线性方程组(组)零点的一种重要迭代方法。

22、Q学习算法,这一算法的学习行动值函数完成的强化学习,以一个给定的行动在一个给定的状态和计算期望效用值,其次是一个固定的策略,q-leanring的优点在于容许行动的期望效用可以比较不需要环境模型。
23和二次筛法(二次筛)——现代整数分解算法,在实践中是目前已知的第二快速算法(其次是数域筛数域筛),对于十位小于110位的整数,它仍然是最快的,而且被认为比域筛子的数量更简单。

24、RANSAC随机抽样一致的缩写。该算法是基于一系列的观测获得的数据,和数据包含异常值,和一个数学模型的参数进行估计,假定数据包含非异化的价值观,即价值观,可以通过一些模型参数解释和异化的值是数据不符合模型。

25、RSA公钥加密算法。首先是适用于签名加密algorithm.rsa仍广泛应用于商业行业,并认为它有一个公共密钥可以安全长。
26、schouml;nhage Strassen算法是数学中的schouml;nhage Strassen算法是一种快速近似算法用于完成大整数的乘法运算,算法的复杂度是O(n log(n)的日志(log(n))),和傅里叶变换算法。

27、单纯形算法(单纯形alrithm)——数学优化理论、单纯形算法求线性规划问题的数值解的常用技术,线性规划问题包括一套实际变量的一组线性不等式和一个固定的线性函数等待被最大化(或最小化)。

28、奇异值分解(SVD分解,简称SVD)-在线性代数中,SVD分解法是一种重要的实数或复数矩阵,在信号处理和统计的应用很多,如矩阵的计算(伪逆矩阵求解最小二乘问题),解决超定线性系统(超定线性系统),矩阵逼近、数值天气预报。

29、求解线性方程组(求解线性方程组的系统)-线性方程是数学中最古老的问题,他们有很多的应用,如数字信号处理、线性规划和预测的非线性估计问题的近似等数值分析求解线性方程组,利用高斯消去法方法(高斯约当消元法),或柯(Cholesky分解)Geris分解。

30、strukturtensor算法应用于模式识别领域,找到一个为所有像素看像素是在同质区域的计算方法(同质区域),看看它是否是一个边或顶点。

31、合并查找算法(会发现),给定一组元素,该算法通常用于将这些元素融入多个分离和非重叠的组。数据结构的disintersection集合(集合)可以跟踪这样的分割方法。合并查找算法可以对这个数据结构进行两个有用的操作:查找:确定哪一组特定的元素属于;合并:加入或合并为一组两组。

32、Vitby算法(Viterbi alrithm)--发现动态规划算法隐藏在状态的最可能的序列。这个序列被称为vitby路径,其结果是一系列的可观察到的事件,特别是在隐藏的马尔可夫模型。

以上是克里斯托夫博士的调查结果为最重要的算法,这些算法被广泛应用,但它实际上是一个计算机算法,其中许多项目是一个数学课程,或在重要路段,广泛涉及基础数学、计算数学的课程,如数值计算、信息理论、矩阵理论。