计算机技术论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

  • 欢迎访问 计算机技术论坛-电脑迷与初学者的家园!由于论坛管理严格,新注册会员可能遇到各种问题,无法解决的请发邮件 admin@jsjbbs.cn
查看: 1227|回复: 0

计算机中最重要的32个算法究竟是什么

[复制链接]
发表于 2021-4-11 20:44:10 | 显示全部楼层 |阅读模式
#111723#奥天时标记盘算研讨所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在本人的页面上宣布了一篇文章,提到他做了一个考察,参加者大少数是盘算机迷信家,他请这些迷信家投票选出最主要的算法,以下是此次考察的成果,依照英文称号字母次序排序。
1. A*搜寻算法
图形搜寻算法,从给定起点到给定起点盘算前途径。此中应用了一种启示式的预算,为每个节点预算通过该节点的最好门路,并以之为各个所在排定顺序。算法以失掉的顺序拜访这些节点。因而,A*搜寻算法是最好优先搜寻的典范。
2. 集束搜寻(别名定向搜寻,Beam Search)
最好优先搜寻算法的优化。应用启示式函数评价它检讨的每个节点的才能。不外,集束搜寻只能在每个深度中发明最后面的m个最合乎前提的节点,m是牢固数字——集束的宽度。
3. 二分查找(Binary Search)
在线性数组中找特定值的算法,每个步调去掉一半不合乎请求的数据。
4. 分支界定算法(Branch and Bound)
在多种最优化成绩中寻觅特定最优化处理计划的算法,特殊是针对团圆、组合的最优化。
5. Buchberger算法
一种数学算法,可将其视为针对单变量最至公约数求解的欧几里得算法和线性体系中高斯消元法的泛化。
6. 数据紧缩
采用特定编码计划,应用更少的字节数(或是其余信息承载单位)对信息编码的进程,又叫起源编码。
7. Diffie-Hellman密钥交流算法
一种加密协定,容许两边在事前不懂得对方的情形下,在不保险的通讯信道中,独特树立同享密钥。该密钥当前可与一个对称暗码一同,加密后续通信。
8. Dijkstra算法
针对没有负值权重边的有向图,盘算此中的单一同点最短算法。
9. 团圆微分算法(Discrete differentiation)
10. 静态计划算法(Dynamic Programming)
展现相互笼罩的子成绩和最优子架构算法
11. 欧几里得算法(Euclidean algorithm)
盘算两个整数的最至公约数。最陈旧的算法之一,呈现在公元前300前欧几里得的《多少本来》。
12. 冀望-最大算法
(Expectation-maximization algorithm,别名EM-Training)
在统计盘算中,冀望-最大算法在几率模子中寻觅可能性最大的参数预算值,此中模子依附于未发明的潜伏变量。EM在两个步调中瓜代盘算,第一步是盘算冀望,应用对暗藏变量的现有估量值,盘算其最大可能估量值;第二步是最大化,最大化在第一步上求得的最大可能值来盘算参数的值。
13. 疾速傅里叶变更(Fast Fourier transform,FFT)
盘算团圆的傅里叶变更(DFT)及其反转。该算法利用范畴很广,从数字信号处置到处理偏微分方程,到疾速盘算大整数乘积。
14. 梯度降落(Gradient descent)
一种数学上的最优化算法。
15. 哈希算法(Hashing)
16. 堆排序(Heaps)
17. Karatsuba乘法
须要实现上千位整数的乘法的体系中应用,比方盘算机代数体系和大数顺序库,假如应用长乘法,速率太慢。该算法发明于1962年。
18. LLL算法(Lenstra-Lenstra-Lovasz lattice reduction)
以格规约(lattice)基数为输入,输出短正交向量基数。LLL算法在以下大众密钥加密方式中有大批应用:背包加密体系(knapsack)、有特定设置的RSA加密等等。
19. 最大流量算法(Maximum flow)
该算法试图从一个流量收集中找到最大的流。它上风被界说为找到如许一个流的值。最大流成绩能够看做更庞杂的收集流成绩的特定情形。最大流与收集中的界面有关,这就是最大流-最小截定理(Max-flow min-cut theorem)。Ford-Fulkerson 能找到一个流收集中的最大流。
20. 兼并排序(Merge Sort)
21. 牛顿法(Newton's method)
求非线性方程(组)零点的一种主要的迭代法。
22. Q-learning进修算法
这是一种通过进修举措值函数(action-value function)实现的强化进修算法,函数采用在给定状况的给定举措,并盘算出冀望的功效代价,在尔后遵守牢固的战略。Q-leanring的上风是,在不须要情况模子的情形下,能够对照可采用举动的冀望功效。
23. 两次筛法(Quadratic Sieve)
古代整数因子剖析算法,在实际中,是现在已知第二快的此类算法(仅次于数域筛法Number Field Sieve)。对于110位以下的十位整数,它还是最快的,并且都以为它比数域筛法更简略。
24. RANSAC
是“RANdom SAmple Consensus”的缩写。该算法依据一系列视察失掉的数据,数据中包括异样值,预算一个数学模子的参数值。其基础假定是:数据包括非同化值,也就是可能通过某些模子参数说明的值,同化值就是那些不合乎模子的数据点。
25. RSA
公钥加密算法。首个实用于以署名作为加密的算法。RSA在电商行业中仍大范围应用,各人也信任它有充足保险长度的公钥。
26. Sch?nhage-Strassen算法
在数学中,Sch?nhage-Strassen算法是用来实现大整数的乘法的疾速渐近算法。其算法庞杂度为:O(N log(N) log(log(N))),该算法应用了傅里叶变更。
27. 纯真型算法(Simplex Algorithm)
在数学的优化实践中,纯真型算法是常用的技巧,用来找到线性计划成绩的数值解。线性计划成绩包含在一组实变量上的一系列线性不等式组,以及一个等候最大化(或最小化)的牢固线性函数。
28. 奇特值剖析(Singular value decomposition,简称SVD)
在线性代数中,SVD是主要的实数或单数矩阵的剖析方式,在信号处置和统计中有多种利用,比方盘算矩阵的伪逆矩阵(以求解最小二乘法成绩)、处理超定线性体系(overdetermined linear systems)、矩阵迫近、数值气象预告等等。
29. 求解线性方程组(Solving a system of linear equations)
线性方程组是数学中最陈旧的成绩,它们有良多利用,比方在数字信号处置、线性计划中的预算和猜测、数值剖析中的非线性成绩迫近等等。求解线性方程组,能够应用高斯—约当消去法(Gauss-Jordan elimination),或是柯列斯基剖析( Cholesky decomposition)。
30. Strukturtensor算法
利用于形式辨认范畴,为全部像素找出一种盘算方式,看看该像素能否处于同质地区( homogenous region),看看它能否属于边沿,仍是是一个极点。
31. 兼并查找算法(Union-find)
给定一组元素,该算法经常用来把这些元素分为多个分别的、相互不重合的组。不订交集(disjoint-set)的数据构造能够跟踪如许的切分方式。兼并查找算法能够在此种数据构造上实现两个有效的操纵:
查找:断定某特定元素属于哪个组。
兼并:结合或兼并两个组为一个组。
32. 维特比算法(Viterbi algorithm)
寻觅暗藏状况最有可能序列的静态计划算法,这类序 列被称为维特比门路,其成果是一系列能够视察到的变乱,特殊是在暗藏的Markov模子中。

更多内容阅读推荐:燃气灶外圈堵了怎么办
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

无图版|手机版|计算机技术论坛 JSJBBS.CN @ 2008-2024 ( 鲁ICP备17021708号 )

技术支持 : 北京康盛新创科技有限责任公司

快速回复 返回顶部 返回列表