List of algorithms: Difference between revisions

Content deleted Content added
top: Fixed grammar error
 
(8 intermediate revisions by 3 users not shown)
Line 2:
An [[algorithm]] is fundamentally a set of rules or defined procedures that is typically designed and used to solve a specific problem or a broad set of problems.
 
Broadly, algorithms define process(es), sets of rules, or methodologies that are to be followed in calculations, data processing, data mining, pattern recognition, automated reasoning or other problem-solving operations. With the increasing automation of services, more and more decisions are being made by algorithms. Some general examples are; risk assessments, anticipatory policing, and pattern recognition technology.<ref>{{Cite web |title=algorithm |url=https://www.law.cornell.edu/wex/algorithm |access-date=2023-10-26 |website=LII / Legal Information Institute |language=en}}</ref>
 
The following is a '''list of well-known algorithms''' along with one-line descriptions for each.
 
==Automated planning==
Line 24:
 
===Graph algorithms===
{{further|Graph theory|:Category:Graph algorithms|Graph theory}}
* [[Coloring algorithm]]: Graph coloring algorithm.
* [[Hopcroft–Karp algorithm]]: convert a bipartite graph to a [[maximum cardinality matching]]
Line 78:
 
====Graph search====
{{further|State space search|Graph search algorithm|State space search}}
* [[A* search algorithm|A*]]: special case of best-first search that uses heuristics to improve speed
* [[B*]]: a best-first graph search algorithm that finds the least-cost path from a given initial node to any goal node (out of one or more possible goals)
Line 181:
** [[Bogosort]]: the list is randomly shuffled until it happens to be sorted
** [[Slowsort]]
** [[Stalin sort]]: all elements that are not in order are removed from the list<ref>{{cite web | title=A "Sorting" algorithm | website=Code Golf Stack Exchange | date=October 30, 2018 | url=https://codegolf.stackexchange.com/questions/174964/a-sorting-algorithm | access-date=April 4, 2025}}</ref>
** [[Stooge sort]]
* Hybrid
Line 347 ⟶ 346:
 
===Numerical algorithms===
{{further|Numerical analysis|List of numerical analysis topics|Numerical analysis}}
 
====Differential equation solving====
Line 409 ⟶ 408:
 
====Interpolation and extrapolation====
{{further|Interpolation|Extrapolation|Interpolation}}
* [[Birkhoff interpolation]]: an extension of polynomial interpolation
* [[Cubic interpolation]]
Line 458 ⟶ 457:
** [[Successive over-relaxation]] (SOR): method used to speed up convergence of the [[Gauss–Seidel method]]
** [[Tridiagonal matrix algorithm]] (Thomas algorithm): solves systems of tridiagonal equations
* [[SMAWK Algorithm]]
* [[Sparse matrix]] algorithms
** [[Cuthill–McKee algorithm]]: reduce the [[bandwidth (matrix theory)|bandwidth]] of a [[symmetric sparse matrix]]
Line 1,072:
 
===Process synchronization===
{{further|Process scheduler|Process synchronization}}
{{further|Process synchronization}}
* [[Dekker's algorithm]]
* [[Lamport's Bakery algorithm]]