SlideShare a Scribd company logo
1 of 4
Download to read offline
The Most Important Algorithms

After a long discussion with some of my RISC colleagues about what the 5 most important
algorithms on the world are, we couldn't reach a consensus on this question. So I suggested
to perform a little survey. The criterion for suggestions was that these algorithms should be
widely used. Further we restrict ourselves to the fields of computer science and mathematics.
As I expected the number of different suggestions is close to

                                      5 * (no. of participants)

In the following you find the results (in alphabetical order) of this survey (which of course is
highly non-representative since most of the participants are computer scientists).

   1.   A* search algorithm
        Graph search algorithm that finds a path from a given initial node to a given goal node.
        It employs a heuristic estimate that ranks each node by an estimate of the best route
        that goes through that node. It visits the nodes in order of this heuristic estimate. The
        A* algorithm is therefore an example of best-first search.
   2.   Beam Search
        Beam search is a search algorithm that is an optimization of best-first search. Like
        best-first search, it uses a heuristic function to evaluate the promise of each node it
        examines. Beam search, however, only unfolds the first m most promising nodes at
        each depth, where m is a fixed number, the beam width.
   3.   Binary search
        Technique for finding a particular value in a linear array, by ruling out half of the data at
        each step.
   4.   Branch and bound
        A general algorithmic method for finding optimal solutions of various optimization
        problems, especially in discrete and combinatorial optimization.
   5.   Buchberger's algorithm
        In computational algebraic geometry and computational commutative algebra,
        Buchberger's algorithm is a method of transforming a given set of generators for a
        polynomial ideal into a Gröbner basis with respect to some monomial order. One can
        view it as a generalization of the Euclidean algorithm for univariate gcd computation
        and of Gaussian elimination for linear systems.
   6.   Data compression
        Data compression or source coding is the process of encoding information using fewer
        bits (or other information-bearing units) than an unencoded representation would use
        through use of specific encoding schemes.
   7.   Diffie-Hellman key exchange
        Cryptographic protocol which allows two parties that have no prior knowledge of each
        other to jointly establish a shared secret key over an insecure communications
        channel. This key can then be used to encrypt subsequent communications using a
        symmetric key cipher.
   8.   Dijkstra's algorithm
        Algorithm that solves the single-source shortest path problem for a directed graph with
        nonnegative edge weights.
9.  Discrete differentiation
    I.e., the formula f'(x) = (f(x+h) - f(x-h)) / 2h.
10. Dynamic programming
    Dynamic programming is a method for reducing the runtime of algorithms exhibiting the
    properties of overlapping subproblems and optimal substructure, described below.
11. Euclidean algorithm
    Algorithm to determine the greatest common divisor (gcd) of two integers. It is one of
    the oldest algorithms known, since it appeared in Euclid's Elements around 300 BC.
    The algorithm does not require factoring the two integers.
12. Expectation-maximization algorithm (EM-Training)
    In statistical computing, an expectation-maximization (EM) algorithm is an algorithm for
    finding maximum likelihood estimates of parameters in probabilistic models, where the
    model depends on unobserved latent variables. EM alternates between performing an
    expectation step, which computes the expected value of the latent variables, and a
    maximization step, which computes the maximum likelihood estimates of the
    parameters given the data and setting the latent variables to their expectation.
13. Fast Fourier transform (FFT)
    Efficient algorithm to compute the discrete Fourier transform (DFT) and its inverse.
    FFTs are of great importance to a wide variety of applications, from digital signal
    processing to solving partial differential equations to algorithms for quickly multiplying
    large integers.
14. Gradient descent
    Gradient descent is an optimization algorithm that approaches a local minimum of a
    function by taking steps proportional to the negative of the gradient (or the approximate
    gradient) of the function at the current point. If instead one takes steps proportional to
    the gradient, one approaches a local maximum of that function; the procedure is then
    known as gradient ascent.
15. Hashing
    A function for summarizing or probabilistically identifying data. Typically this means
    one applies a mathematical formula to the data, producing a string which is probably
    more or less unique to that data. The string is much shorter than the original data, but
    can be used to uniquely identify it.
16. Heaps (heap sort)
    In computer science a heap is a specialized tree-based data structure. Heaps are
    favourite data structures for many applications: Heap sort, selection algorithms (finding
    the min, max or both of them, median or even any kth element in sublinear time), graph
    algorithms.
17. Karatsuba multiplication
    For systems that need to multiply numbers in the range of several thousand digits,
    such as computer algebra systems and bignum libraries, long multiplication is too slow.
    These systems employ Karatsuba multiplication, which was discovered in 1962.
18. LLL algorithm
    The Lenstra-Lenstra-Lovasz lattice reduction (LLL) algorithm is an algorithm which,
    given a lattice basis as input, outputs a basis with short, nearly orthogonal vectors. The
    LLL algorithm has found numerous applications in cryptanalysis of public-key
    encryption schemes: knapsack cryptosystems, RSA with particular settings, and so
    forth.
19. Maximum flow
    The maximum flow problem is finding a legal flow through a flow network that is
maximal. Sometimes it is defined as finding the value of such a flow. The maximum
    flow problem can be seen as special case of more complex network flow problems.
    The maximal flow is related to the cuts in a network by the Max-flow min-cut theorem.
    The Ford-Fulkerson algorithm computes the maximum flow in a flow network.
20. Merge sort
    A sorting algorithm for rearranging lists (or any other data structure that can only be
    accessed sequentially, e.g. file streams) into a specified order.
21. Newton's method
    Efficient algorithm for finding approximations to the zeros (or roots) of a real-valued
    function. Newton's method is also a well-known algorithm for finding roots of equations
    in one or more dimensions. It can also be used to find local maxima and local minima
    of functions.
22. Q-learning
    Q-learning is a reinforcement learning technique that works by learning an action-value
    function that gives the expected utility of taking a given action in a given state and
    following a fixed policy thereafter. A strength with Q-learning is that it is able to
    compare the expected utility of the available actions without requiring a model of the
    environment.
23. Quadratic sieve
    The quadratic sieve algorithm (QS) is a modern integer factorization algorithm and, in
    practice, the second fastest method known (after the number field sieve, NFS). It is still
    the fastest for integers under 110 decimal digits or so, and is considerably simpler than
    the number field sieve.
24. RANSAC
    RANSAC is an abbreviation for "RANdom SAmple Consensus". It is an algorithm to
    estimate parameters of a mathematical model from a set of observed data which
    contains "outliers". A basic assumption is that the data consists of "inliers", i. e., data
    points which can be explained by some set of model parameters, and "outliers" which
    are data points that do not fit the model.
25. RSA
    Algorithm for public-key encryption. It was the first algorithm known to be suitable for
    signing as well as encryption. RSA is still widely used in electronic commerce
    protocols, and is believed to be secure given sufficiently long keys.
26. Schönhage-Strassen algorithm
    In mathematics, the Schönhage-Strassen algorithm is an asymptotically fast method
    for multiplication of large integer numbers. The run-time is O(N log(N) log(log(N))). The
    algorithm uses Fast Fourier Transforms in rings.
27. Simplex algorithm
    In mathematical optimization theory, the simplex algorithm a popular technique for
    numerical solution of the linear programming problem. A linear programming problem
    consists of a collection of linear inequalities on a number of real variables and a fixed
    linear functional which is to be maximized (or minimized).
28. Singular value decomposition (SVD)
    In linear algebra, SVD is an important factorization of a rectangular real or complex
    matrix, with several applications in signal processing and statistics, e.g., computing the
    pseudoinverse of a matrix (to solve the least squares problem), solving overdetermined
    linear systems, matrix approximation, numerical weather prediction.
29. Solving a system of linear equations
    Systems of linear equations belong to the oldest problems in mathematics and they
have many applications, such as in digital signal processing, estimation, forecasting
    and generally in linear programming and in the approximation of non-linear problems in
    numerical analysis. An efficient way to solve systems of linear equations is given by
    the Gauss-Jordan elimination or by the Cholesky decomposition.
30. Strukturtensor
    In pattern recognition: Computes a measure for every pixel which tells you if this pixel
    is located in a homogenous region, if it belongs to an edge, or if it is a vertex.
31. Union-find
    Given a set of elements, it is often useful to partition them into a number of separate,
    nonoverlapping groups. A disjoint-set data structure is a data structure that keeps track
    of such a partitioning. A union-find algorithm is an algorithm that performs two useful
    operations on such a data structure:
    Find: Determine which group a particular element is in.
    Union: Combine or merge two groups into a single group.
32. Viterbi algorithm
    Dynamic programming algorithm for finding the most likely sequence of hidden states -
    known as the Viterbi path - that result in a sequence of observed events, especially in
    the context of hidden Markov models.

More Related Content

What's hot

USING ADAPTIVE AUTOMATA IN GRAMMAR-BASED TEXT COMPRESSION TO IDENTIFY FREQUEN...
USING ADAPTIVE AUTOMATA IN GRAMMAR-BASED TEXT COMPRESSION TO IDENTIFY FREQUEN...USING ADAPTIVE AUTOMATA IN GRAMMAR-BASED TEXT COMPRESSION TO IDENTIFY FREQUEN...
USING ADAPTIVE AUTOMATA IN GRAMMAR-BASED TEXT COMPRESSION TO IDENTIFY FREQUEN...ijcsit
 
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...lauratoni4
 
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...lauratoni4
 
Adaptive blind multiuser detection under impulsive noise using principal comp...
Adaptive blind multiuser detection under impulsive noise using principal comp...Adaptive blind multiuser detection under impulsive noise using principal comp...
Adaptive blind multiuser detection under impulsive noise using principal comp...csandit
 
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...csandit
 
Distributed vertex cover
Distributed vertex coverDistributed vertex cover
Distributed vertex coverIJCNCJournal
 
Reversed-Trellis Tail-Biting Convolutional Code (RT-TBCC) Decoder Architectur...
Reversed-Trellis Tail-Biting Convolutional Code (RT-TBCC) Decoder Architectur...Reversed-Trellis Tail-Biting Convolutional Code (RT-TBCC) Decoder Architectur...
Reversed-Trellis Tail-Biting Convolutional Code (RT-TBCC) Decoder Architectur...IJECEIAES
 
Laplacian-regularized Graph Bandits
Laplacian-regularized Graph BanditsLaplacian-regularized Graph Bandits
Laplacian-regularized Graph Banditslauratoni4
 
Square grid points coveraged by
Square grid points coveraged bySquare grid points coveraged by
Square grid points coveraged byijcsit
 
Mit203 analysis and design of algorithms
Mit203  analysis and design of algorithmsMit203  analysis and design of algorithms
Mit203 analysis and design of algorithmssmumbahelp
 
Survey on Frequent Pattern Mining on Graph Data - Slides
Survey on Frequent Pattern Mining on Graph Data - SlidesSurvey on Frequent Pattern Mining on Graph Data - Slides
Survey on Frequent Pattern Mining on Graph Data - SlidesKasun Gajasinghe
 

What's hot (15)

USING ADAPTIVE AUTOMATA IN GRAMMAR-BASED TEXT COMPRESSION TO IDENTIFY FREQUEN...
USING ADAPTIVE AUTOMATA IN GRAMMAR-BASED TEXT COMPRESSION TO IDENTIFY FREQUEN...USING ADAPTIVE AUTOMATA IN GRAMMAR-BASED TEXT COMPRESSION TO IDENTIFY FREQUEN...
USING ADAPTIVE AUTOMATA IN GRAMMAR-BASED TEXT COMPRESSION TO IDENTIFY FREQUEN...
 
E502024047
E502024047E502024047
E502024047
 
Av33274282
Av33274282Av33274282
Av33274282
 
Algoritmic Information Theory
Algoritmic Information TheoryAlgoritmic Information Theory
Algoritmic Information Theory
 
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
 
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
 
Adaptive blind multiuser detection under impulsive noise using principal comp...
Adaptive blind multiuser detection under impulsive noise using principal comp...Adaptive blind multiuser detection under impulsive noise using principal comp...
Adaptive blind multiuser detection under impulsive noise using principal comp...
 
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
 
Distributed vertex cover
Distributed vertex coverDistributed vertex cover
Distributed vertex cover
 
Reversed-Trellis Tail-Biting Convolutional Code (RT-TBCC) Decoder Architectur...
Reversed-Trellis Tail-Biting Convolutional Code (RT-TBCC) Decoder Architectur...Reversed-Trellis Tail-Biting Convolutional Code (RT-TBCC) Decoder Architectur...
Reversed-Trellis Tail-Biting Convolutional Code (RT-TBCC) Decoder Architectur...
 
Laplacian-regularized Graph Bandits
Laplacian-regularized Graph BanditsLaplacian-regularized Graph Bandits
Laplacian-regularized Graph Bandits
 
Square grid points coveraged by
Square grid points coveraged bySquare grid points coveraged by
Square grid points coveraged by
 
P229 godfrey
P229 godfreyP229 godfrey
P229 godfrey
 
Mit203 analysis and design of algorithms
Mit203  analysis and design of algorithmsMit203  analysis and design of algorithms
Mit203 analysis and design of algorithms
 
Survey on Frequent Pattern Mining on Graph Data - Slides
Survey on Frequent Pattern Mining on Graph Data - SlidesSurvey on Frequent Pattern Mining on Graph Data - Slides
Survey on Frequent Pattern Mining on Graph Data - Slides
 

Viewers also liked

部分PHP问题总结[转贴]
部分PHP问题总结[转贴]部分PHP问题总结[转贴]
部分PHP问题总结[转贴]wensheng wei
 
管理员必备的20个 Linux系统监控工具
管理员必备的20个 Linux系统监控工具管理员必备的20个 Linux系统监控工具
管理员必备的20个 Linux系统监控工具wensheng wei
 
常用数据库的链接方法
常用数据库的链接方法常用数据库的链接方法
常用数据库的链接方法wensheng wei
 
Apache+php+mysql在Linux下的安装与配置
Apache+php+mysql在Linux下的安装与配置Apache+php+mysql在Linux下的安装与配置
Apache+php+mysql在Linux下的安装与配置wensheng wei
 
信息时代的组合数学
信息时代的组合数学信息时代的组合数学
信息时代的组合数学wensheng wei
 
XMLHTTPRequest的属性和方法简介
XMLHTTPRequest的属性和方法简介XMLHTTPRequest的属性和方法简介
XMLHTTPRequest的属性和方法简介wensheng wei
 
十张叫做幸福的图片
十张叫做幸福的图片十张叫做幸福的图片
十张叫做幸福的图片wensheng wei
 
【转】CVS使用手册
【转】CVS使用手册【转】CVS使用手册
【转】CVS使用手册wensheng wei
 
Tomcat源码学习1
Tomcat源码学习1Tomcat源码学习1
Tomcat源码学习1wensheng wei
 
Ubuntu安装SVN总结
Ubuntu安装SVN总结Ubuntu安装SVN总结
Ubuntu安装SVN总结wensheng wei
 
Ubuntu 下安装 svn 服务器
Ubuntu 下安装 svn 服务器Ubuntu 下安装 svn 服务器
Ubuntu 下安装 svn 服务器wensheng wei
 
PHP-Debug-Manual-public
PHP-Debug-Manual-publicPHP-Debug-Manual-public
PHP-Debug-Manual-publicwensheng wei
 
Twitter新手使用教程
Twitter新手使用教程Twitter新手使用教程
Twitter新手使用教程wensheng wei
 
MVC详解:了解真正所谓的
MVC详解:了解真正所谓的MVC详解:了解真正所谓的
MVC详解:了解真正所谓的wensheng wei
 
数据库系统防黑客入侵技术综述
数据库系统防黑客入侵技术综述数据库系统防黑客入侵技术综述
数据库系统防黑客入侵技术综述wensheng wei
 
我的最小项目管理工具集
我的最小项目管理工具集我的最小项目管理工具集
我的最小项目管理工具集wensheng wei
 
Linux安全配置终极指南
Linux安全配置终极指南Linux安全配置终极指南
Linux安全配置终极指南wensheng wei
 
Micaela Carter Presentation
Micaela Carter PresentationMicaela Carter Presentation
Micaela Carter Presentationmicaelac329
 

Viewers also liked (18)

部分PHP问题总结[转贴]
部分PHP问题总结[转贴]部分PHP问题总结[转贴]
部分PHP问题总结[转贴]
 
管理员必备的20个 Linux系统监控工具
管理员必备的20个 Linux系统监控工具管理员必备的20个 Linux系统监控工具
管理员必备的20个 Linux系统监控工具
 
常用数据库的链接方法
常用数据库的链接方法常用数据库的链接方法
常用数据库的链接方法
 
Apache+php+mysql在Linux下的安装与配置
Apache+php+mysql在Linux下的安装与配置Apache+php+mysql在Linux下的安装与配置
Apache+php+mysql在Linux下的安装与配置
 
信息时代的组合数学
信息时代的组合数学信息时代的组合数学
信息时代的组合数学
 
XMLHTTPRequest的属性和方法简介
XMLHTTPRequest的属性和方法简介XMLHTTPRequest的属性和方法简介
XMLHTTPRequest的属性和方法简介
 
十张叫做幸福的图片
十张叫做幸福的图片十张叫做幸福的图片
十张叫做幸福的图片
 
【转】CVS使用手册
【转】CVS使用手册【转】CVS使用手册
【转】CVS使用手册
 
Tomcat源码学习1
Tomcat源码学习1Tomcat源码学习1
Tomcat源码学习1
 
Ubuntu安装SVN总结
Ubuntu安装SVN总结Ubuntu安装SVN总结
Ubuntu安装SVN总结
 
Ubuntu 下安装 svn 服务器
Ubuntu 下安装 svn 服务器Ubuntu 下安装 svn 服务器
Ubuntu 下安装 svn 服务器
 
PHP-Debug-Manual-public
PHP-Debug-Manual-publicPHP-Debug-Manual-public
PHP-Debug-Manual-public
 
Twitter新手使用教程
Twitter新手使用教程Twitter新手使用教程
Twitter新手使用教程
 
MVC详解:了解真正所谓的
MVC详解:了解真正所谓的MVC详解:了解真正所谓的
MVC详解:了解真正所谓的
 
数据库系统防黑客入侵技术综述
数据库系统防黑客入侵技术综述数据库系统防黑客入侵技术综述
数据库系统防黑客入侵技术综述
 
我的最小项目管理工具集
我的最小项目管理工具集我的最小项目管理工具集
我的最小项目管理工具集
 
Linux安全配置终极指南
Linux安全配置终极指南Linux安全配置终极指南
Linux安全配置终极指南
 
Micaela Carter Presentation
Micaela Carter PresentationMicaela Carter Presentation
Micaela Carter Presentation
 

Similar to The Most Important Algorithms

An Overview Of Optimization
An Overview Of OptimizationAn Overview Of Optimization
An Overview Of OptimizationAvis Malave
 
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...RSIS International
 
Achieving Portability and Efficiency in a HPC Code Using Standard Message-pas...
Achieving Portability and Efficiency in a HPC Code Using Standard Message-pas...Achieving Portability and Efficiency in a HPC Code Using Standard Message-pas...
Achieving Portability and Efficiency in a HPC Code Using Standard Message-pas...Derryck Lamptey, MPhil, CISSP
 
Application's of Numerical Math in CSE
Application's of Numerical Math in CSEApplication's of Numerical Math in CSE
Application's of Numerical Math in CSEsanjana mun
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
 
Two Step Gravitational Search Algorithm Essay
Two Step Gravitational Search Algorithm EssayTwo Step Gravitational Search Algorithm Essay
Two Step Gravitational Search Algorithm EssayKristen Wilson
 
Complier design
Complier design Complier design
Complier design shreeuva
 
Spanning Tree in data structure and .pptx
Spanning Tree in data structure and .pptxSpanning Tree in data structure and .pptx
Spanning Tree in data structure and .pptxasimshahzad8611
 
What Is The Intuitive Approach To The Orthogonal Matching...
What Is The Intuitive Approach To The Orthogonal Matching...What Is The Intuitive Approach To The Orthogonal Matching...
What Is The Intuitive Approach To The Orthogonal Matching...Renee Campbell
 
Timetable Management System Using Java
Timetable Management System Using JavaTimetable Management System Using Java
Timetable Management System Using JavaLisa Netkowicz
 
A Distributed Approach For Solving A System Of Linear Equations
A Distributed Approach For Solving A System Of Linear EquationsA Distributed Approach For Solving A System Of Linear Equations
A Distributed Approach For Solving A System Of Linear EquationsRobin Beregovska
 
Ballpark Figure Algorithms for Data Broadcast in Wireless Networks
Ballpark Figure Algorithms for Data Broadcast in Wireless NetworksBallpark Figure Algorithms for Data Broadcast in Wireless Networks
Ballpark Figure Algorithms for Data Broadcast in Wireless NetworksEditor IJCATR
 
Algorithm selection for sorting in embedded and mobile systems
Algorithm selection for sorting in embedded and mobile systemsAlgorithm selection for sorting in embedded and mobile systems
Algorithm selection for sorting in embedded and mobile systemsJigisha Aryya
 
JAVA 2013 IEEE NETWORKSECURITY PROJECT Spatial approximate string search
JAVA 2013 IEEE NETWORKSECURITY PROJECT Spatial approximate string searchJAVA 2013 IEEE NETWORKSECURITY PROJECT Spatial approximate string search
JAVA 2013 IEEE NETWORKSECURITY PROJECT Spatial approximate string searchIEEEGLOBALSOFTTECHNOLOGIES
 
Models and approaches for Differential Power Analysis
Models and approaches for Differential Power AnalysisModels and approaches for Differential Power Analysis
Models and approaches for Differential Power AnalysisAndrej Šimko
 
Advantages And Limitations Of Genetic Algorithm
Advantages And Limitations Of Genetic AlgorithmAdvantages And Limitations Of Genetic Algorithm
Advantages And Limitations Of Genetic AlgorithmKendra Cote
 

Similar to The Most Important Algorithms (20)

Gk3611601162
Gk3611601162Gk3611601162
Gk3611601162
 
An Overview Of Optimization
An Overview Of OptimizationAn Overview Of Optimization
An Overview Of Optimization
 
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
 
Achieving Portability and Efficiency in a HPC Code Using Standard Message-pas...
Achieving Portability and Efficiency in a HPC Code Using Standard Message-pas...Achieving Portability and Efficiency in a HPC Code Using Standard Message-pas...
Achieving Portability and Efficiency in a HPC Code Using Standard Message-pas...
 
Application's of Numerical Math in CSE
Application's of Numerical Math in CSEApplication's of Numerical Math in CSE
Application's of Numerical Math in CSE
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
Two Step Gravitational Search Algorithm Essay
Two Step Gravitational Search Algorithm EssayTwo Step Gravitational Search Algorithm Essay
Two Step Gravitational Search Algorithm Essay
 
E031022026
E031022026E031022026
E031022026
 
Complier design
Complier design Complier design
Complier design
 
Spanning Tree in data structure and .pptx
Spanning Tree in data structure and .pptxSpanning Tree in data structure and .pptx
Spanning Tree in data structure and .pptx
 
What Is The Intuitive Approach To The Orthogonal Matching...
What Is The Intuitive Approach To The Orthogonal Matching...What Is The Intuitive Approach To The Orthogonal Matching...
What Is The Intuitive Approach To The Orthogonal Matching...
 
Timetable Management System Using Java
Timetable Management System Using JavaTimetable Management System Using Java
Timetable Management System Using Java
 
A Distributed Approach For Solving A System Of Linear Equations
A Distributed Approach For Solving A System Of Linear EquationsA Distributed Approach For Solving A System Of Linear Equations
A Distributed Approach For Solving A System Of Linear Equations
 
L010628894
L010628894L010628894
L010628894
 
Ballpark Figure Algorithms for Data Broadcast in Wireless Networks
Ballpark Figure Algorithms for Data Broadcast in Wireless NetworksBallpark Figure Algorithms for Data Broadcast in Wireless Networks
Ballpark Figure Algorithms for Data Broadcast in Wireless Networks
 
Algorithm selection for sorting in embedded and mobile systems
Algorithm selection for sorting in embedded and mobile systemsAlgorithm selection for sorting in embedded and mobile systems
Algorithm selection for sorting in embedded and mobile systems
 
JAVA 2013 IEEE NETWORKSECURITY PROJECT Spatial approximate string search
JAVA 2013 IEEE NETWORKSECURITY PROJECT Spatial approximate string searchJAVA 2013 IEEE NETWORKSECURITY PROJECT Spatial approximate string search
JAVA 2013 IEEE NETWORKSECURITY PROJECT Spatial approximate string search
 
Spatial approximate string search
Spatial approximate string searchSpatial approximate string search
Spatial approximate string search
 
Models and approaches for Differential Power Analysis
Models and approaches for Differential Power AnalysisModels and approaches for Differential Power Analysis
Models and approaches for Differential Power Analysis
 
Advantages And Limitations Of Genetic Algorithm
Advantages And Limitations Of Genetic AlgorithmAdvantages And Limitations Of Genetic Algorithm
Advantages And Limitations Of Genetic Algorithm
 

More from wensheng wei

你会柔软地想起这个校园
你会柔软地想起这个校园你会柔软地想起这个校园
你会柔软地想起这个校园wensheng wei
 
几米语录(1)
几米语录(1)几米语录(1)
几米语录(1)wensheng wei
 
Installation of Subversion on Ubuntu,...
Installation of Subversion on Ubuntu,...Installation of Subversion on Ubuntu,...
Installation of Subversion on Ubuntu,...wensheng wei
 
高级PHP应用程序漏洞审核技术
高级PHP应用程序漏洞审核技术高级PHP应用程序漏洞审核技术
高级PHP应用程序漏洞审核技术wensheng wei
 
存储过程编写经验和优化措施
存储过程编写经验和优化措施存储过程编写经验和优化措施
存储过程编写经验和优化措施wensheng wei
 
CentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 ZendCentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 Zendwensheng wei
 
Happiness is a Journey
Happiness is a JourneyHappiness is a Journey
Happiness is a Journeywensheng wei
 
Java JNI 编程进阶
Java JNI 编程进阶     Java JNI 编程进阶
Java JNI 编程进阶 wensheng wei
 
Linux Shortcuts and Commands:
Linux Shortcuts and Commands:Linux Shortcuts and Commands:
Linux Shortcuts and Commands:wensheng wei
 
Java正则表达式详解
Java正则表达式详解Java正则表达式详解
Java正则表达式详解wensheng wei
 
Linux Security Quick Reference Guide
Linux Security Quick Reference GuideLinux Security Quick Reference Guide
Linux Security Quick Reference Guidewensheng wei
 
Android模拟器SD Card映像文件使用方法
Android模拟器SD Card映像文件使用方法Android模拟器SD Card映像文件使用方法
Android模拟器SD Card映像文件使用方法wensheng wei
 
如何硬盘安装ubuntu8.10
如何硬盘安装ubuntu8.10如何硬盘安装ubuntu8.10
如何硬盘安装ubuntu8.10wensheng wei
 
数据库设计方法、规范与技巧
数据库设计方法、规范与技巧数据库设计方法、规范与技巧
数据库设计方法、规范与技巧wensheng wei
 
揭秘全球最大网站Facebook背后的那些软件
揭秘全球最大网站Facebook背后的那些软件揭秘全球最大网站Facebook背后的那些软件
揭秘全球最大网站Facebook背后的那些软件wensheng wei
 
mysql的字符串函数
mysql的字符串函数mysql的字符串函数
mysql的字符串函数wensheng wei
 

More from wensheng wei (20)

你会柔软地想起这个校园
你会柔软地想起这个校园你会柔软地想起这个校园
你会柔软地想起这个校园
 
几米语录(1)
几米语录(1)几米语录(1)
几米语录(1)
 
我的简历
我的简历我的简历
我的简历
 
Installation of Subversion on Ubuntu,...
Installation of Subversion on Ubuntu,...Installation of Subversion on Ubuntu,...
Installation of Subversion on Ubuntu,...
 
高级PHP应用程序漏洞审核技术
高级PHP应用程序漏洞审核技术高级PHP应用程序漏洞审核技术
高级PHP应用程序漏洞审核技术
 
存储过程编写经验和优化措施
存储过程编写经验和优化措施存储过程编写经验和优化措施
存储过程编写经验和优化措施
 
CentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 ZendCentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 Zend
 
Happiness is a Journey
Happiness is a JourneyHappiness is a Journey
Happiness is a Journey
 
Java JNI 编程进阶
Java JNI 编程进阶     Java JNI 编程进阶
Java JNI 编程进阶
 
Linux Shortcuts and Commands:
Linux Shortcuts and Commands:Linux Shortcuts and Commands:
Linux Shortcuts and Commands:
 
Java正则表达式详解
Java正则表达式详解Java正则表达式详解
Java正则表达式详解
 
Linux Security Quick Reference Guide
Linux Security Quick Reference GuideLinux Security Quick Reference Guide
Linux Security Quick Reference Guide
 
issue35 zh-CN
issue35 zh-CNissue35 zh-CN
issue35 zh-CN
 
Android模拟器SD Card映像文件使用方法
Android模拟器SD Card映像文件使用方法Android模拟器SD Card映像文件使用方法
Android模拟器SD Card映像文件使用方法
 
Subversion FAQ
Subversion FAQSubversion FAQ
Subversion FAQ
 
如何硬盘安装ubuntu8.10
如何硬盘安装ubuntu8.10如何硬盘安装ubuntu8.10
如何硬盘安装ubuntu8.10
 
ubunturef
ubunturefubunturef
ubunturef
 
数据库设计方法、规范与技巧
数据库设计方法、规范与技巧数据库设计方法、规范与技巧
数据库设计方法、规范与技巧
 
揭秘全球最大网站Facebook背后的那些软件
揭秘全球最大网站Facebook背后的那些软件揭秘全球最大网站Facebook背后的那些软件
揭秘全球最大网站Facebook背后的那些软件
 
mysql的字符串函数
mysql的字符串函数mysql的字符串函数
mysql的字符串函数
 

Recently uploaded

Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 

Recently uploaded (20)

Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 

The Most Important Algorithms

  • 1. The Most Important Algorithms After a long discussion with some of my RISC colleagues about what the 5 most important algorithms on the world are, we couldn't reach a consensus on this question. So I suggested to perform a little survey. The criterion for suggestions was that these algorithms should be widely used. Further we restrict ourselves to the fields of computer science and mathematics. As I expected the number of different suggestions is close to 5 * (no. of participants) In the following you find the results (in alphabetical order) of this survey (which of course is highly non-representative since most of the participants are computer scientists). 1. A* search algorithm Graph search algorithm that finds a path from a given initial node to a given goal node. It employs a heuristic estimate that ranks each node by an estimate of the best route that goes through that node. It visits the nodes in order of this heuristic estimate. The A* algorithm is therefore an example of best-first search. 2. Beam Search Beam search is a search algorithm that is an optimization of best-first search. Like best-first search, it uses a heuristic function to evaluate the promise of each node it examines. Beam search, however, only unfolds the first m most promising nodes at each depth, where m is a fixed number, the beam width. 3. Binary search Technique for finding a particular value in a linear array, by ruling out half of the data at each step. 4. Branch and bound A general algorithmic method for finding optimal solutions of various optimization problems, especially in discrete and combinatorial optimization. 5. Buchberger's algorithm In computational algebraic geometry and computational commutative algebra, Buchberger's algorithm is a method of transforming a given set of generators for a polynomial ideal into a Gröbner basis with respect to some monomial order. One can view it as a generalization of the Euclidean algorithm for univariate gcd computation and of Gaussian elimination for linear systems. 6. Data compression Data compression or source coding is the process of encoding information using fewer bits (or other information-bearing units) than an unencoded representation would use through use of specific encoding schemes. 7. Diffie-Hellman key exchange Cryptographic protocol which allows two parties that have no prior knowledge of each other to jointly establish a shared secret key over an insecure communications channel. This key can then be used to encrypt subsequent communications using a symmetric key cipher. 8. Dijkstra's algorithm Algorithm that solves the single-source shortest path problem for a directed graph with nonnegative edge weights.
  • 2. 9. Discrete differentiation I.e., the formula f'(x) = (f(x+h) - f(x-h)) / 2h. 10. Dynamic programming Dynamic programming is a method for reducing the runtime of algorithms exhibiting the properties of overlapping subproblems and optimal substructure, described below. 11. Euclidean algorithm Algorithm to determine the greatest common divisor (gcd) of two integers. It is one of the oldest algorithms known, since it appeared in Euclid's Elements around 300 BC. The algorithm does not require factoring the two integers. 12. Expectation-maximization algorithm (EM-Training) In statistical computing, an expectation-maximization (EM) algorithm is an algorithm for finding maximum likelihood estimates of parameters in probabilistic models, where the model depends on unobserved latent variables. EM alternates between performing an expectation step, which computes the expected value of the latent variables, and a maximization step, which computes the maximum likelihood estimates of the parameters given the data and setting the latent variables to their expectation. 13. Fast Fourier transform (FFT) Efficient algorithm to compute the discrete Fourier transform (DFT) and its inverse. FFTs are of great importance to a wide variety of applications, from digital signal processing to solving partial differential equations to algorithms for quickly multiplying large integers. 14. Gradient descent Gradient descent is an optimization algorithm that approaches a local minimum of a function by taking steps proportional to the negative of the gradient (or the approximate gradient) of the function at the current point. If instead one takes steps proportional to the gradient, one approaches a local maximum of that function; the procedure is then known as gradient ascent. 15. Hashing A function for summarizing or probabilistically identifying data. Typically this means one applies a mathematical formula to the data, producing a string which is probably more or less unique to that data. The string is much shorter than the original data, but can be used to uniquely identify it. 16. Heaps (heap sort) In computer science a heap is a specialized tree-based data structure. Heaps are favourite data structures for many applications: Heap sort, selection algorithms (finding the min, max or both of them, median or even any kth element in sublinear time), graph algorithms. 17. Karatsuba multiplication For systems that need to multiply numbers in the range of several thousand digits, such as computer algebra systems and bignum libraries, long multiplication is too slow. These systems employ Karatsuba multiplication, which was discovered in 1962. 18. LLL algorithm The Lenstra-Lenstra-Lovasz lattice reduction (LLL) algorithm is an algorithm which, given a lattice basis as input, outputs a basis with short, nearly orthogonal vectors. The LLL algorithm has found numerous applications in cryptanalysis of public-key encryption schemes: knapsack cryptosystems, RSA with particular settings, and so forth. 19. Maximum flow The maximum flow problem is finding a legal flow through a flow network that is
  • 3. maximal. Sometimes it is defined as finding the value of such a flow. The maximum flow problem can be seen as special case of more complex network flow problems. The maximal flow is related to the cuts in a network by the Max-flow min-cut theorem. The Ford-Fulkerson algorithm computes the maximum flow in a flow network. 20. Merge sort A sorting algorithm for rearranging lists (or any other data structure that can only be accessed sequentially, e.g. file streams) into a specified order. 21. Newton's method Efficient algorithm for finding approximations to the zeros (or roots) of a real-valued function. Newton's method is also a well-known algorithm for finding roots of equations in one or more dimensions. It can also be used to find local maxima and local minima of functions. 22. Q-learning Q-learning is a reinforcement learning technique that works by learning an action-value function that gives the expected utility of taking a given action in a given state and following a fixed policy thereafter. A strength with Q-learning is that it is able to compare the expected utility of the available actions without requiring a model of the environment. 23. Quadratic sieve The quadratic sieve algorithm (QS) is a modern integer factorization algorithm and, in practice, the second fastest method known (after the number field sieve, NFS). It is still the fastest for integers under 110 decimal digits or so, and is considerably simpler than the number field sieve. 24. RANSAC RANSAC is an abbreviation for "RANdom SAmple Consensus". It is an algorithm to estimate parameters of a mathematical model from a set of observed data which contains "outliers". A basic assumption is that the data consists of "inliers", i. e., data points which can be explained by some set of model parameters, and "outliers" which are data points that do not fit the model. 25. RSA Algorithm for public-key encryption. It was the first algorithm known to be suitable for signing as well as encryption. RSA is still widely used in electronic commerce protocols, and is believed to be secure given sufficiently long keys. 26. Schönhage-Strassen algorithm In mathematics, the Schönhage-Strassen algorithm is an asymptotically fast method for multiplication of large integer numbers. The run-time is O(N log(N) log(log(N))). The algorithm uses Fast Fourier Transforms in rings. 27. Simplex algorithm In mathematical optimization theory, the simplex algorithm a popular technique for numerical solution of the linear programming problem. A linear programming problem consists of a collection of linear inequalities on a number of real variables and a fixed linear functional which is to be maximized (or minimized). 28. Singular value decomposition (SVD) In linear algebra, SVD is an important factorization of a rectangular real or complex matrix, with several applications in signal processing and statistics, e.g., computing the pseudoinverse of a matrix (to solve the least squares problem), solving overdetermined linear systems, matrix approximation, numerical weather prediction. 29. Solving a system of linear equations Systems of linear equations belong to the oldest problems in mathematics and they
  • 4. have many applications, such as in digital signal processing, estimation, forecasting and generally in linear programming and in the approximation of non-linear problems in numerical analysis. An efficient way to solve systems of linear equations is given by the Gauss-Jordan elimination or by the Cholesky decomposition. 30. Strukturtensor In pattern recognition: Computes a measure for every pixel which tells you if this pixel is located in a homogenous region, if it belongs to an edge, or if it is a vertex. 31. Union-find Given a set of elements, it is often useful to partition them into a number of separate, nonoverlapping groups. A disjoint-set data structure is a data structure that keeps track of such a partitioning. A union-find algorithm is an algorithm that performs two useful operations on such a data structure: Find: Determine which group a particular element is in. Union: Combine or merge two groups into a single group. 32. Viterbi algorithm Dynamic programming algorithm for finding the most likely sequence of hidden states - known as the Viterbi path - that result in a sequence of observed events, especially in the context of hidden Markov models.