Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Field

Algorithms and Complexity Theory

Also Known As Computational Complexity Theory
Theory Of Computation

Algorithms and Complexity Theory studies what can be computed, how efficiently it can be computed, and how to prove the answer. It gives every other field of computing its shared vocabulary of running time, correctness and provable limits, from Euclid's algorithm for the greatest common divisor through to the sorting and searching algorithms taught in every introductory course. Its central practical question is how the resources an algorithm needs, most often time and memory, grow as the size of its input grows, and its central theoretical question is which problems admit an efficient algorithm at all.

Facts
Disputed
Origin Year
1936
Informal algorithms are ancient, Euclid's algorithm dates to around 300 BCE, but the field as a distinct mathematical discipline is usually dated to 1936, when Alan Turing and, independently, Alonzo Church gave the first formal definitions of what it means for a procedure to be computable at all.
Core Concern
What can be computed at all, how efficiently a solution can be found, and how to prove a bound on that efficiency. 1
Connections

Showing the first 400 of 452 connections.

Associated With

Computational Science, Fields

Field-to-field association; both are standard neighbouring areas of computing

Computer algebra is defined by Wikipedia as the study and development of algorithms for manipulating mathematical expressions, placing it alongside the atlas's algorithms and complexity theory field.

Source Computer Algebra (Wikipedia)
DNA Computing, Fields

Field-to-field association; both are standard neighbouring areas of computing

Source Wikipedia: Quantum computing

Includes

Source Abraham Lempel (Wikipedia)
Ada Lovelace, Pioneers
Source The Innovators: How a Group of Hackers, Geniuses, and Geeks Created the Digital RevolutionWalter Isaacson
Adler-32, Algorithms
Source Wikipedia: Adler-32
Ahmed Sameh, Pioneers
Source Ahmed Sameh (Wikipedia)
Source Aho-Corasick algorithm, Wikipedia
Source AKS Primality Test (Wikipedia)
Alan Turing, Pioneers
Source Alan Turing: The EnigmaAndrew Hodges
Source Alexander Brudno (Wikipedia)
Algorithm, Concepts
Source Encyclopedia Britannica: Computer ScienceEncyclopedia Britannica Editors
Source Wikipedia: Alpha max plus beta min algorithm
Amos Fiat, Pioneers
Source Wikipedia: Amos Fiat
Source Wikipedia: Andrew V. Goldberg
Source Wikipedia: Andrew Viterbi
Source Andrey Nikolaevich Kolmogorov (Wikipedia)
APX, Algorithms
Source APX (complexity class) (Wikipedia)
Array, Concepts
Source Wikipedia: Automatic differentiation
AVL Tree, Concepts
Avrim Blum, Pioneers
Source Avrim Blum, Wikipedia
Source B* (Wikipedia)
Backtracking, Concepts
Source Wikipedia: Baker's technique
Source Bartels-Stewart algorithm (Wikipedia)
Source Baum-Welch algorithm (Wikipedia)
Bead Sort, Algorithms
Source Bead sort (Wikipedia)
Source Beam search (Wikipedia)
Source Wikipedia: Behavior selection algorithm
Source Wikipedia, Bellman-Ford algorithm
Source Wikipedia: Bentley-Ottmann algorithm
Source Wikipedia: Berlekamp-Rabin algorithm
Source Bernard Chazelle - Wikipedia
Source Wikipedia: Bidimensionality
Source Wikipedia: Big O notation
Source Binary search (Wikipedia)
Source Wikipedia: Binary search tree
Source Bitap Algorithm (Wikipedia)
Source Bitonic sorter (Wikipedia)
Block Sort, Algorithms
Source Block sort (Wikipedia)
Source Wikipedia: Block swap algorithms
Bloom Filter, Concepts
Source Wikipedia: Bloom filter
Source Blossom algorithm (Wikipedia)
Bogosort, Algorithms
Source Bogosort (Wikipedia)
Source Wikipedia: Boltzmann sampler
Source Wikipedia: Boruvka's algorithm
Source Wikipedia: Bowyer-Watson algorithm

Showing 1 to 50 of 393 in Includes, page 1 of 8.

Sources
1. IEEE Annals of the History of Computing
IEEE Computer Society, 1979Field-naming discussionView the Source
Encyclopedia Britannica: Computer Science
Encyclopedia Britannica Editors, Encyclopaedia Britannica Inc, 2024View the Source
Alan Turing: The Enigma
Andrew Hodges, Burnett Books, 1983
  • Includes: Alan Turing
  • Includes: Turing Machine
The Innovators: How a Group of Hackers, Geniuses, and Geeks Created the Digital Revolution
Walter Isaacson, Simon and Schuster, 2014Includes: Ada Lovelace
Wikipedia: Big O notation
WikipediaIncludes: Big O NotationView the Source
Wikipedia: NP-completeness
Wikimedia FoundationIncludes: NP-CompletenessView the Source
Wikipedia: Dynamic Programming
Wikimedia FoundationIncludes: Dynamic ProgrammingView the Source
Wikipedia: Stack (Abstract Data Type)
Wikimedia FoundationIncludes: StackView the Source
Wikipedia: Queue (Abstract Data Type)
Wikimedia FoundationIncludes: QueueView the Source
Wikipedia: Depth-First Search
Wikimedia FoundationIncludes: Depth-First SearchView the Source
Wikipedia: P versus NP Problem
Wikimedia FoundationIncludes: P versus NPView the Source
Wikipedia: Quantum computing
Wikimedia FoundationAssociated With: Quantum Computing, Lead section
Quote, Associated With: Quantum Computing, Lead section
A quantum computer is a computer that represents and processes information using quantum states.
View the Source
Wikipedia: Merge sort
Wikimedia FoundationIncludes: Merge Sort, History sectionView the Source
Wikipedia: Binary search tree
Wikimedia FoundationIncludes: Binary Search Tree, History sectionView the Source
Computer Algebra (Wikipedia)
Wikimedia FoundationAssociated With: Computer Algebra, Lead section
Quote, Associated With: Computer Algebra, Lead section
In mathematics and computer science, computer algebra, also called symbolic computation or algebraic computation, is a scientific area that refers to the study and development of algorithms and software for manipulating mathematical expressions and other mathematical objects.
View the Source
Whitehead's Algorithm (Wikipedia)
Includes: Whitehead's algorithm, Lead paragraph
Quote, Includes: Whitehead's algorithm, Lead paragraph
It is still unknown (except for the case n = 2) if Whitehead's algorithm has polynomial time complexity.
View the Source
Richard P. Brent, Wikipedia
Includes: Richard P. Brent, Lead section
Quote, Includes: Richard P. Brent, Lead section
analysis of algorithms
View the Source
Omer Reingold (Wikipedia)
Includes: Omer Reingold, Lead section
Quote, Includes: Omer Reingold, Lead section
deterministic logarithmic-space algorithm for st-connectivity
View the Source
Alexander Brudno (Wikipedia)
Includes: Alexander Brudno, Lead section
Quote, Includes: Alexander Brudno, Lead section
alpha-beta pruning algorithm
View the Source
Oleg Lupanov (Wikipedia)
Includes: Oleg Lupanov, Lead section
Quote, Includes: Oleg Lupanov, Lead section
synthesis and complexity of Boolean circuits
View the Source
L. R. Ford Jr. (Wikipedia)
Includes: L. R. Ford Jr., Lead section
Quote, Includes: L. R. Ford Jr., Lead section
Ford-Fulkerson algorithm
View the Source
IEEE Computer Society History Committee: Computer Pioneers: Joseph Frederick Traub
IEEE Computer Society History CommitteeIncludes: Joseph F. Traub, Biography header
Quote, Includes: Joseph F. Traub, Biography header
Leader in the study of computational complexity
View the Source
Donald Shell (Wikipedia)
Includes: Donald Shell, Lead section
Quote, Includes: Donald Shell, Lead section
who designed the Shellsort sorting algorithm
View the Source
Jack Edmonds (Wikipedia)
Includes: Jack Edmonds, Lead section
Quote, Includes: Jack Edmonds, Lead section
fundamental contributions to the fields of combinatorial optimization, polyhedral combinatorics, discrete mathematics and the theory of computing
View the Source
Jon Bentley (Wikipedia)
Includes: Jon Bentley, Lead section
Quote, Includes: Jon Bentley, Lead section
known for his contributions to computer programming, algorithms and data structure research
View the Source
Vladimir Levenshtein (Wikipedia)
Includes: Vladimir Levenshtein, Lead section
Quote, Includes: Vladimir Levenshtein, Lead section
he is known for the Levenshtein distance and a Levenshtein algorithm, which he developed in 1965
View the Source
Donald Marquardt (Wikipedia)
Includes: Donald Marquardt, Lead section
Quote, Includes: Donald Marquardt, Lead section
was an American statistician, the rediscoverer of the Levenberg
View the Source
Harold W. Kuhn (Wikipedia)
Includes: Harold W. Kuhn, Lead section
Quote, Includes: Harold W. Kuhn, Lead section
He described the Hungarian method for the assignment problem
View the Source
Jon Kleinberg (Wikipedia)
Includes: Jon Kleinberg, Lead section
Quote, Includes: Jon Kleinberg, Lead section
known for his work in algorithms and networks
View the Source
Abraham Lempel (Wikipedia)
Includes: Abraham Lempel, Lead section
Quote, Includes: Abraham Lempel, Lead section
one of the fathers of the LZ family of lossless data compression algorithms
View the Source
Jacob Ziv (Wikipedia)
Includes: Jacob Ziv, Lead section
Quote, Includes: Jacob Ziv, Lead section
who developed the LZ family of lossless data compression algorithms alongside Abraham Lempel
View the Source
Terry Welch (Wikipedia)
Includes: Terry Welch, Lead section
Quote, Includes: Terry Welch, Lead section
Along with Abraham Lempel and Jacob Ziv, he developed the lossless
View the Source
Otakar Borůvka (Wikipedia)
Includes: Otakar Borůvka, Lead section
Quote, Includes: Otakar Borůvka, Lead section
He is best known for his work in graph theory
View the Source
Marguerite Frank (Wikipedia)
Includes: Marguerite Frank, Lead section
Quote, Includes: Marguerite Frank, Lead section
was a pioneer in convex optimization theory and mathematical programming
View the Source
Nicos Christofides (Wikipedia)
Includes: Nicos Christofides, Lead section
Quote, Includes: Nicos Christofides, Lead section
he devised the Christofides algorithm, an algorithm for finding approximate solutions to the travelling salesman problem
View the Source
Kenneth Levenberg (Wikipedia)
Includes: Kenneth Levenberg, Lead section
Quote, Includes: Kenneth Levenberg, Lead section
original author of the widely used nonlinear least squares fitting algorithm
View the Source
Michelle Girvan (Wikipedia)
Includes: Michelle Girvan, Lead section
Quote, Includes: Michelle Girvan, Lead section
used to detect community structure in complex systems
View the Source
Elizabeth Cuthill (Wikipedia)
Includes: Elizabeth Cuthill, Lead section
Quote, Includes: Elizabeth Cuthill, Lead section
known for her work on sparse matrix algorithms
View the Source
Ronald Graham (Wikipedia)
Includes: Ronald Graham, Lead section
Quote, Includes: Ronald Graham, Lead section
He did important work in scheduling theory, computational geometry
View the Source
Rudolf E. Kálmán (Wikipedia)
Includes: Rudolf E. Kálmán, Lead section
Quote, Includes: Rudolf E. Kálmán, Lead section
He is most noted for his co-invention and development of the Kalman filter, a mathematical algorithm
View the Source
Andrey Nikolaevich Kolmogorov (Wikipedia)
Includes: Andrey Nikolaevich Kolmogorov, Lead
Quote, Includes: Andrey Nikolaevich Kolmogorov, Lead
algorithmic information theory and computational complexity
View the Source
Wikipedia: Frank Harary
Wikimedia FoundationIncludes: Frank Harary, Lead
Quote, Includes: Frank Harary, Lead
Frank Harary (March 11, 1921, January 4, 2005) was an American mathematician, who specialized in graph theory.
View the Source
Jennifer Tour Chayes - Wikipedia
Includes: Jennifer Tour Chayes, Lead
Quote, Includes: Jennifer Tour Chayes, Lead
Chayes is best known for her work on phase transitions in discrete mathematics and computer science, structural and dynamical properties of self-engineered networks, and algorithmic game theory.
View the Source
Wikipedia: Peter Eades
Includes: Peter Eades, Lead
Quote, Includes: Peter Eades, Lead
Tollis) of the book Graph drawing: Algorithms for the visualization of graphs, and of the associated survey "Algorithms for drawing graphs: an annotated bibliography".
View the Source
Larry Page (Wikipedia)
Includes: Larry Page, Lead
Quote, Includes: Larry Page, Lead
Page is the co-creator and namesake of PageRank, a search ranking algorithm for Google for which he received the Marconi Prize in 2004 along with co-writer Brin.
View the Source
László Lovász (Wikipedia)
Includes: László Lovász, Lead
Quote, Includes: László Lovász, Lead
In graph theory, Lovász's notable contributions include the proofs of Kneser's conjecture and the Lovász local lemma, as well as the formulation of the Erdős-Faber-Lovász conjecture.
View the Source
Micha Sharir (Wikipedia)
Includes: Micha Sharir, Lead
Quote, Includes: Micha Sharir, Lead
He is a professor at Tel Aviv University, notable for his contributions to computational geometry and combinatorial geometry, having authored hundreds of papers.
View the Source
Edith Elkind (Wikipedia)
Includes: Edith Elkind, Lead
Quote, Includes: Edith Elkind, Lead
She is known for her work in algorithmic game theory and computational social choice.
View the Source
Dorothea Wagner (Wikipedia)
Includes: Dorothea Wagner, Lead
Quote, Includes: Dorothea Wagner, Lead
Dorothea Wagner (born 1957) is a German computer scientist, known for her research in graph drawing, route planning, and social network analysis.
View the Source
Analysis of algorithms (Wikipedia)
In Group: Algorithms, Complexity and Language Theory, lead sectionView the Source
Critical path method (Wikipedia)
Includes: Critical path method, Lead section
Quote, Includes: Critical path method, Lead section
The critical path method (CPM), or critical path analysis (CPA), is an algorithm for scheduling a set of project activities.
View the Source
Square root algorithms (Wikipedia)
Includes: Square root algorithms, Lead section
Quote, Includes: Square root algorithms, Lead section
Square root algorithms compute the non-negative square root
View the Source
Mu-law algorithm (Wikipedia)
Includes: Mu-law algorithm, Lead section
Quote, Includes: Mu-law algorithm, Lead section
is a companding algorithm, primarily used in eight-bit PCM digital telecommunications systems in North America and Japan.
View the Source
Hanan Samet (Wikipedia)
Includes: Hanan Samet, Lead
Quote, Includes: Hanan Samet, Lead
Samet is a pioneer in research on quadtrees and other multidimensional spatial data structures for sorting spatial information, and has written several well-received books.
View the Source
Georgy Adelson-Velsky (Wikipedia)
Includes: Georgy Adelson-Velsky, Lead
Quote, Includes: Georgy Adelson-Velsky, Lead
This was the first known balanced binary search tree data structure.
View the Source
Giorgio Buttazzo (Wikipedia)
Includes: Giorgio Buttazzo, Lead
Quote, Includes: Giorgio Buttazzo, Lead
Giorgio Buttazzo from the Sant'Anna School of Advanced Studies, Pisa, Italy was named Fellow of the Institute of Electrical and Electronics Engineers (IEEE) in 2012 for contributions to dynamic scheduling algorithms in real-time systems.
View the Source
Der-Tsai Lee (Wikipedia)
Includes: Der-Tsai Lee, Lead
Quote, Includes: Der-Tsai Lee, Lead
Lee, is a Taiwanese computer scientist known for his work in computational geometry.
View the Source
Richard Bellman (Wikipedia)
Includes: Richard E. Bellman, Lead
Quote, Includes: Richard E. Bellman, Lead
Richard Ernest Bellman (August 26, 1920, March 19, 1984) was an American applied mathematician, who introduced dynamic programming in 1953, and made important contributions in other fields of mathematics, such as biomathematics.
View the Source
Linear probing (Wikipedia)
Includes: Linear probing, Lead section
Quote, Includes: Linear probing, Lead section
Linear probing is a scheme in computer programming for resolving collisions in hash tables, data structures for maintaining a collection of key-value pairs and looking up the value associated with a given key.
View the Source
Wikipedia, Bellman-Ford algorithm
Includes: Bellman-Ford Algorithm, Lead sentence
Quote, Includes: Bellman-Ford Algorithm, Lead sentence
Bellman-Ford algorithm is an algorithm that computes shortest paths from a single source vertex to all of the other vertices in a weighted digraph.
View the Source
Wikipedia, Floyd-Warshall algorithm
  • Includes: Floyd-Warshall Algorithm, Lead sentence
    Floyd-Warshall algorithm (also known as Floyd's algorithm, the Roy-Warshall algorithm, the Roy-Floyd algorithm, or the WFI algorithm) is an algorithm for finding shortest paths in a directed weighted graph with positive or negative edge weights (but with no ne
  • Includes: Warshall's Algorithm, Lead paragraph
View the Source
Wikipedia, Kruskal's algorithm
Includes: Kruskal's Algorithm, Lead sentence
Quote, Includes: Kruskal's Algorithm, Lead sentence
Kruskal's algorithm finds a minimum spanning forest of an undirected edge-weighted graph.
View the Source
Wikipedia: Linear Search
Wikimedia FoundationIncludes: Linear Search, Lead sentence
Quote, Includes: Linear Search, Lead sentence
linear search or sequential search is a method for finding an element within a list.
View the Source
Wikipedia: Interpolation Search
Wikimedia FoundationIncludes: Interpolation Search, Lead sentence
Quote, Includes: Interpolation Search, Lead sentence
Interpolation search is an algorithm for searching for a key in an array that has been ordered by numerical values assigned to the keys (key values).
View the Source
Wikipedia: Timsort
Wikimedia FoundationIncludes: Timsort, Lead sentence
Quote, Includes: Timsort, Lead sentence
Timsort is a hybrid, stable sorting algorithm, derived from merge sort and insertion sort, designed to perform well on many kinds of real-world data.
View the Source
Wikipedia: Introsort
Wikimedia FoundationIncludes: Introsort, Lead sentence
Quote, Includes: Introsort, Lead sentence
Introsort or introspective sort is a hybrid sorting algorithm that provides both fast average performance and (asymptotically) optimal worst-case performance.
View the Source
Wikipedia: Johnson's Algorithm
Wikimedia FoundationIncludes: Johnson's Algorithm, Lead sentence
Quote, Includes: Johnson's Algorithm, Lead sentence
Johnson's algorithm is a way to find the shortest paths between all pairs of vertices in an edge-weighted directed graph.
View the Source
Wikipedia: Tarjan's Strongly Connected Components Algorithm
Wikimedia FoundationIncludes: Tarjan's Strongly Connected Components Algorithm, Lead sentence
Quote, Includes: Tarjan's Strongly Connected Components Algorithm, Lead sentence
Tarjan's strongly connected components algorithm is an algorithm in graph theory for finding the strongly connected components (SCCs) of a directed graph.
View the Source
Wikipedia: Kosaraju's Algorithm
Wikimedia FoundationIncludes: Kosaraju's Algorithm, Lead sentence
Quote, Includes: Kosaraju's Algorithm, Lead sentence
Kosaraju-Sharir's algorithm (also known as Kosaraju's algorithm) is a linear time algorithm to find the strongly connected components of a directed graph.
View the Source
Wikipedia: Simplex Algorithm
Wikimedia FoundationIncludes: Simplex Algorithm, Lead sentence
Quote, Includes: Simplex Algorithm, Lead sentence
simplex algorithm (or simplex method) is an algorithm for linear programming.
View the Source
Wikipedia: Sieve of Eratosthenes
Wikimedia FoundationIncludes: Sieve of Eratosthenes, Lead sentence
Quote, Includes: Sieve of Eratosthenes, Lead sentence
sieve of Eratosthenes is an ancient algorithm for finding all prime numbers up to any given limit.
View the Source
Wikipedia: Strassen's Algorithm
Wikimedia FoundationIncludes: Strassen's Algorithm, Lead sentence
Quote, Includes: Strassen's Algorithm, Lead sentence
Strassen algorithm, named after Volker Strassen, is an algorithm for matrix multiplication.
View the Source
Wikipedia: Fast Fourier Transform
Wikimedia FoundationIncludes: Fast Fourier Transform, Lead sentence
Quote, Includes: Fast Fourier Transform, Lead sentence
fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT), or its inverse (IDFT), of a sequence.
View the Source
Wikipedia: Miller-Rabin Primality Test
Wikimedia FoundationIncludes: Miller-Rabin Primality Test, Lead sentence
Quote, Includes: Miller-Rabin Primality Test, Lead sentence
Miller-Rabin primality test or Rabin-Miller primality test is a probabilistic primality test: an algorithm which determines whether a given number is likely to be prime, similar to the Fermat primality test and the Solovay-Strassen primality test.
View the Source
Wikipedia: Bowyer-Watson algorithm
Includes: Bowyer-Watson Algorithm, Lead sentence
Quote, Includes: Bowyer-Watson Algorithm, Lead sentence
Bowyer-Watson algorithm is a method for computing the Delaunay triangulation of a finite set of points in any number of dimensions.
View the Source
Wikipedia: Fortune's algorithm
Includes: Fortune's Algorithm, Lead sentence
Quote, Includes: Fortune's Algorithm, Lead sentence
Fortune's algorithm is a sweep line algorithm for generating a Voronoi diagram from a set of points in a plane using O(n log n) time and O(n) space.
View the Source
Wikipedia: Bentley-Ottmann algorithm
Includes: Bentley-Ottmann Algorithm, Lead sentence
Quote, Includes: Bentley-Ottmann Algorithm, Lead sentence
Bentley-Ottmann algorithm is a sweep line algorithm for listing all crossings in a set of line segments, i.e.
View the Source
Wikipedia: Boruvka's algorithm
Includes: Boruvka's Algorithm, Lead sentence
Quote, Includes: Boruvka's Algorithm, Lead sentence
Borůvka's algorithm is a greedy algorithm for finding a minimum spanning tree in a graph, or a minimum spanning forest in the case of a graph that is not connected.
View the Source
Wikipedia: Hopcroft-Karp algorithm
Includes: Hopcroft-Karp Algorithm, Lead section
Quote, Includes: Hopcroft-Karp Algorithm, Lead section
In computer science, the Hopcroft-Karp algorithm (sometimes more accurately called the Hopcroft-Karp-Karzanov algorithm) is an algorithm that takes a bipartite graph as input and produces a maximum-cardinality matching as output - a set of as many edges as possible with the property that no two edges share an endpoint.
View the Source
Wikipedia: Yen's algorithm
Includes: Yen's Algorithm, Lead sentence
Quote, Includes: Yen's Algorithm, Lead sentence
Yen's algorithm computes single-source K-shortest loopless paths for a graph with non-negative edge cost.
View the Source
Wikipedia: Held-Karp algorithm
Includes: Held-Karp Algorithm, Lead sentence
Quote, Includes: Held-Karp Algorithm, Lead sentence
Held-Karp algorithm, also called the Bellman-Held-Karp algorithm, is a dynamic programming algorithm proposed in 1962 independently by Bellman and by Held and Karp to solve the traveling salesman problem (TSP), in which the input is a distance matrix between a
View the Source
Wikipedia: Gaussian elimination
Includes: Gaussian Elimination Algorithm, Lead sentence
Quote, Includes: Gaussian Elimination Algorithm, Lead sentence
Gaussian elimination, also known as row reduction, is an algorithm for solving systems of linear equations.
View the Source
Wikipedia: Exponentiation by squaring
Includes: Exponentiation by Squaring Algorithm, Lead sentence
Quote, Includes: Exponentiation by Squaring Algorithm, Lead sentence
exponentiating by squaring is a general method for fast computation of large positive integer powers of a number, or more generally of an element of a semigroup, like a polynomial or a square matrix.
View the Source
Wikipedia: Horner's method
Includes: Horner's Method Algorithm, Lead sentence
Quote, Includes: Horner's Method Algorithm, Lead sentence
Horner's method (or Horner's scheme) is an algorithm for polynomial evaluation.
View the Source
Wikipedia: Interior-point method
Includes: Interior Point Method Algorithm, Lead sentence
Quote, Includes: Interior Point Method Algorithm, Lead sentence
Interior-point methods (also referred to as barrier methods or IPMs) are algorithms for solving linear and non-linear convex optimization problems.
View the Source
Wikipedia: Jump search
Includes: Jump Search Algorithm, Lead sentence
Quote, Includes: Jump Search Algorithm, Lead sentence
jump search or block search refers to a search algorithm for ordered lists.
View the Source
Wikipedia: Fibonacci search technique
Includes: Fibonacci Search Algorithm, Lead sentence
Quote, Includes: Fibonacci Search Algorithm, Lead sentence
Fibonacci search technique is a method of searching a sorted array using a divide and conquer algorithm that narrows down possible locations with the aid of Fibonacci numbers.
View the Source
Wikipedia: Ternary search
Includes: Ternary Search Algorithm, Lead sentence
Quote, Includes: Ternary Search Algorithm, Lead sentence
ternary search algorithm is a technique in computer science for finding the minimum or maximum of a unimodal function.
View the Source
Wikipedia: Shellsort
Includes: Shellsort Algorithm, Lead sentence
Quote, Includes: Shellsort Algorithm, Lead sentence
Shellsort, also known as Shell sort or Shell's method, is an in-place comparison sort.
View the Source
Wikipedia: Comb sort
Includes: Comb Sort Algorithm, Lead sentence
Quote, Includes: Comb Sort Algorithm, Lead sentence
Comb sort is a relatively simple sorting algorithm originally designed by Włodzimierz Dobosiewicz and Artur Borowy in 1980, later rediscovered (and given the name "Combsort") by Stephen Lacey and Richard Box in 1991. Comb sort improves on bubble sort in the sa
View the Source
Aho-Corasick algorithm, Wikipedia
Includes: Aho-Corasick Algorithm, Lead sentence
Quote, Includes: Aho-Corasick Algorithm, Lead sentence
Aho-Corasick algorithm is a string-searching algorithm invented by Alfred V. Aho and Margaret J. Corasick in 1975. It is a kind of dictionary-matching algorithm that locates elements of a finite set of strings (the "dictionary") within an input text.
View the Source
Levenshtein distance, Wikipedia
Includes: Levenshtein Distance Algorithm, Lead sentence
Quote, Includes: Levenshtein Distance Algorithm, Lead sentence
Levenshtein distance is a string metric for measuring the difference between two sequences.
View the Source
Burrows-Wheeler transform, Wikipedia
Includes: Burrows-Wheeler Transform Algorithm, Lead sentence
Quote, Includes: Burrows-Wheeler Transform Algorithm, Lead sentence
Burrows-Wheeler transform (BWT) rearranges a character string into runs of similar characters, in a manner that can be reversed to recover the original string.
View the Source
Rotating calipers, Wikipedia
Includes: Rotating Calipers, Lead sentence
Quote, Includes: Rotating Calipers, Lead sentence
rotating calipers is an algorithm design technique that can be used to solve optimization problems including finding the width or diameter of a set of points.
View the Source
Hungarian Algorithm (Wikipedia)
Includes: Hungarian Algorithm, Lead sentence
Quote, Includes: Hungarian Algorithm, Lead sentence
Hungarian algorithm or Hungarian method is a combinatorial optimization algorithm that solves the assignment problem in polynomial time and which anticipated later primal-dual methods.
View the Source
Dinic's Algorithm (Wikipedia)
Includes: Dinic's Algorithm, Lead sentence
Quote, Includes: Dinic's Algorithm, Lead sentence
Dinic's algorithm or Dinitz's algorithm is a strongly polynomial algorithm for computing the maximum flow in a flow network, conceived in 1970 by Israeli (formerly Soviet) computer scientist Yefim Dinitz.
View the Source
Karger's Algorithm (Wikipedia)
Includes: Karger's Algorithm, Lead sentence
Quote, Includes: Karger's Algorithm, Lead sentence
Karger's algorithm is a randomized algorithm to compute a minimum cut of a connected graph.
View the Source
Christofides Algorithm (Wikipedia)
Includes: Christofides Algorithm, Lead sentence
Quote, Includes: Christofides Algorithm, Lead sentence
Christofides algorithm or Christofides-Serdyukov algorithm is an algorithm for finding approximate solutions to the travelling salesman problem, on instances where the distances form a metric space (they are symmetric and obey the triangle inequality).
View the Source
Viterbi Algorithm (Wikipedia)
Includes: Viterbi Algorithm, Lead sentence
Quote, Includes: Viterbi Algorithm, Lead sentence
Viterbi algorithm is a dynamic programming algorithm that finds the most likely sequence of hidden events that would explain a sequence of observed events.
View the Source
Baum-Welch algorithm (Wikipedia)
Includes: Baum-Welch Algorithm, Lead sentence
Quote, Includes: Baum-Welch Algorithm, Lead sentence
Baum-Welch algorithm is a special case of the expectation-maximization algorithm used to find the unknown parameters of a hidden Markov model (HMM).
View the Source
Karmarkar's Algorithm (Wikipedia)
Includes: Karmarkar's Algorithm, Lead sentence
Quote, Includes: Karmarkar's Algorithm, Lead sentence
Karmarkar's algorithm is an algorithm introduced by Narendra Karmarkar in 1984 for solving linear programming problems.
View the Source
Ukkonen's Algorithm (Wikipedia)
Includes: Ukkonen's Algorithm, Lead sentence
Quote, Includes: Ukkonen's Algorithm, Lead sentence
Ukkonen's algorithm is a linear-time, online algorithm for constructing suffix trees, proposed by Esko Ukkonen in 1995. The algorithm begins with an implicit suffix tree containing the first character of the string.
View the Source
Smoothsort (Wikipedia)
Includes: Smoothsort, Lead sentence
Quote, Includes: Smoothsort, Lead sentence
smoothsort is a comparison-based sorting algorithm.
View the Source
Patience Sorting (Wikipedia)
Includes: Patience Sorting, Lead sentence
Quote, Includes: Patience Sorting, Lead sentence
patience sorting is a sorting algorithm inspired by, and named after, the card game patience.
View the Source
Louvain method (Wikipedia)
Includes: Louvain Method, Lead sentence
Quote, Includes: Louvain Method, Lead sentence
Louvain method for community detection is a greedy optimization method intended to extract non-overlapping communities from large networks created by Blondel et al.
View the Source
Girvan-Newman algorithm (Wikipedia)
Includes: Girvan-Newman Algorithm, Lead sentence
Quote, Includes: Girvan-Newman Algorithm, Lead sentence
Girvan-Newman algorithm (named after Michelle Girvan and Mark Newman) is a hierarchical method used to detect communities in complex systems.
View the Source
Bron-Kerbosch algorithm (Wikipedia)
Includes: Bron-Kerbosch Algorithm, Lead sentence
Quote, Includes: Bron-Kerbosch Algorithm, Lead sentence
Bron-Kerbosch algorithm is an enumeration algorithm for finding all maximal cliques in an undirected graph.
View the Source
Levenberg-Marquardt algorithm (Wikipedia)
Includes: Levenberg-Marquardt Algorithm, Lead sentence
Quote, Includes: Levenberg-Marquardt Algorithm, Lead sentence
Levenberg-Marquardt algorithm (LMA or just LM), also known as the damped least-squares (DLS) method, is used to solve non-linear least squares problems.
View the Source
Mean shift (Wikipedia)
Includes: Mean Shift, Lead sentence
Quote, Includes: Mean Shift, Lead sentence
Mean shift is a non-parametric feature-space mathematical analysis technique for locating the maxima of a density function, a so-called mode-seeking algorithm.
View the Source
Cohen-Sutherland algorithm (Wikipedia)
Includes: Cohen-Sutherland Algorithm, Lead sentence
Quote, Includes: Cohen-Sutherland Algorithm, Lead sentence
Cohen-Sutherland algorithm is an algorithm used for line clipping.
View the Source
Ramer-Douglas-Peucker algorithm (Wikipedia)
Includes: Ramer-Douglas-Peucker Algorithm, Lead sentence
Quote, Includes: Ramer-Douglas-Peucker Algorithm, Lead sentence
Ramer-Douglas-Peucker algorithm, also known as the Douglas-Peucker algorithm and iterative end-point fit algorithm, is an algorithm that decimates a curve composed of line segments to a similar curve with fewer points.
View the Source
Gnome Sort (Wikipedia)
Includes: Gnome Sort, Lead sentence
Quote, Includes: Gnome Sort, Lead sentence
Gnome sort (nicknamed stupid sort) is a variation of the insertion sort sorting algorithm that does not use nested loops.
View the Source
Beam search (Wikipedia)
Includes: Beam Search, Lead sentence
Quote, Includes: Beam Search, Lead sentence
beam search is a heuristic search algorithm that explores a graph by expanding the most promising node in a limited set.
View the Source
Suurballe's Algorithm (Wikipedia)
Includes: Suurballe's Algorithm, Lead sentence
Quote, Includes: Suurballe's Algorithm, Lead sentence
Suurballe's algorithm is an algorithm for finding two disjoint paths in a nonnegatively-weighted directed graph, so that both paths connect the same pair of vertices and have minimum total length.
View the Source
Stoer-Wagner algorithm (Wikipedia)
Includes: Stoer-Wagner Algorithm, Lead sentence
Quote, Includes: Stoer-Wagner Algorithm, Lead sentence
Stoer-Wagner algorithm is a recursive algorithm to solve the minimum cut problem in undirected weighted graphs with non-negative weights.
View the Source
Pollard's rho algorithm (Wikipedia)
Includes: Pollard's Rho Algorithm, Lead sentence
Quote, Includes: Pollard's Rho Algorithm, Lead sentence
Pollard's rho algorithm is an algorithm for integer factorization.
View the Source
AKS Primality Test (Wikipedia)
Includes: AKS Primality Test, Lead sentence
Quote, Includes: AKS Primality Test, Lead sentence
AKS primality test (also known as the Agrawal-Kayal-Saxena primality test and the cyclotomic AKS test) is a deterministic primality-proving algorithm created and published by Manindra Agrawal, Neeraj Kayal, and Nitin Saxena, computer scientists at the Indian I
View the Source
CORDIC (Wikipedia)
Includes: CORDIC Algorithm, Lead sentence
Quote, Includes: CORDIC Algorithm, Lead sentence
CORDIC, short for coordinate rotation digital computer, is a simple and efficient algorithm to calculate trigonometric functions, hyperbolic functions, square roots, multiplications, divisions, exponentials, and logarithms with arbitrary base, typically conver
View the Source
Metropolis-Hastings algorithm (Wikipedia)
Includes: Metropolis-Hastings Algorithm, Lead sentence
Quote, Includes: Metropolis-Hastings Algorithm, Lead sentence
Metropolis-Hastings algorithm is a Markov chain Monte Carlo (MCMC) method for obtaining a sequence of random samples from a probability distribution from which direct sampling is difficult.
View the Source
Frank-Wolfe algorithm (Wikipedia)
Includes: Frank-Wolfe Algorithm, Lead sentence
Quote, Includes: Frank-Wolfe Algorithm, Lead sentence
Frank-Wolfe algorithm is an iterative first-order optimization algorithm for constrained convex optimization.
View the Source
Liang-Barsky algorithm (Wikipedia)
Includes: Liang-Barsky Algorithm, Lead sentence
Quote, Includes: Liang-Barsky Algorithm, Lead sentence
Liang-Barsky algorithm (named after You-Dong Liang and Brian A. Barsky) is a line clipping algorithm first published in early 1984. The Liang-Barsky algorithm uses the parametric equation of a line and inequalities describing the range of the clipping window t
View the Source
Needleman-Wunsch algorithm (Wikipedia)
Includes: Needleman-Wunsch Algorithm, Lead sentence
Quote, Includes: Needleman-Wunsch Algorithm, Lead sentence
Needleman-Wunsch algorithm is an algorithm used in bioinformatics to align protein or nucleotide sequences.
View the Source
Smith-Waterman algorithm (Wikipedia)
Includes: Smith-Waterman Algorithm, Lead sentence
Quote, Includes: Smith-Waterman Algorithm, Lead sentence
Smith-Waterman algorithm performs local sequence alignment; that is, for determining similar regions between two strings of nucleic acid sequences or protein sequences.
View the Source
Edmonds' Algorithm (Wikipedia)
Includes: Edmonds' Algorithm, Lead sentence
Quote, Includes: Edmonds' Algorithm, Lead sentence
Edmonds' algorithm or Chu-Liu/Edmonds' algorithm is an algorithm for finding a spanning arborescence of minimum weight (sometimes called an optimum branching).
View the Source
Gram-Schmidt process (Wikipedia)
Includes: Gram-Schmidt Process, Lead sentence
Quote, Includes: Gram-Schmidt Process, Lead sentence
Gram-Schmidt process or Gram-Schmidt algorithm is a way of finding a set of two or more vectors that are perpendicular to each other.
View the Source
Toom-Cook multiplication (Wikipedia)
Includes: Toom-Cook Multiplication, Lead sentence
Quote, Includes: Toom-Cook Multiplication, Lead sentence
Toom-Cook, sometimes known as Toom-3, named after Andrei Toom, who introduced the new algorithm with its low complexity, and Stephen Cook, who cleaned the description of it, is a multiplication algorithm for large integers.
View the Source
Boyer-Moore-Horspool algorithm (Wikipedia)
Includes: Boyer-Moore-Horspool Algorithm, Lead sentence
Quote, Includes: Boyer-Moore-Horspool Algorithm, Lead sentence
Boyer-Moore-Horspool algorithm or Horspool's algorithm is an algorithm for finding substrings in strings.
View the Source
Earley parser (Wikipedia)
Includes: Earley Parser, Lead sentence
Quote, Includes: Earley Parser, Lead sentence
Earley parser is an algorithm for parsing strings that belong to a given context-free language.
View the Source
Shunting yard algorithm (Wikipedia)
Includes: Shunting Yard Algorithm, Lead sentence
Quote, Includes: Shunting Yard Algorithm, Lead sentence
shunting yard algorithm is a method for parsing arithmetical or logical expressions, or a combination of both, specified in infix notation.
View the Source
Gilbert-Johnson-Keerthi distance algorithm (Wikipedia)
Includes: Gilbert-Johnson-Keerthi Distance Algorithm, Lead sentence
Quote, Includes: Gilbert-Johnson-Keerthi Distance Algorithm, Lead sentence
Gilbert-Johnson-Keerthi distance algorithm is a method of determining the minimum distance between two convex sets, first published by Elmer G. Gilbert, Daniel W. Johnson, and S. Sathiya Keerthi in 1988. Unlike many other distance algorithms, it does not requi
View the Source
HITS algorithm (Wikipedia)
Includes: HITS Algorithm, Lead sentence
Quote, Includes: HITS Algorithm, Lead sentence
Hyperlink-Induced Topic Search (HITS; also known as hubs and authorities) is a link analysis algorithm that rates Web pages, developed by Jon Kleinberg.
View the Source
Bitap Algorithm (Wikipedia)
Includes: Bitap Algorithm, Lead sentence
Quote, Includes: Bitap Algorithm, Lead sentence
bitap algorithm (also known as the shift-or, shift-and or Baeza-Yates-Gonnet algorithm) is an approximate string matching algorithm.
View the Source
GLR parser (Wikipedia)
Includes: GLR Parser, Lead sentence
Quote, Includes: GLR Parser, Lead sentence
GLR parser (generalized left-to-right rightmost derivation parser) is an extension of an LR parser algorithm to handle non-deterministic and ambiguous grammars.
View the Source
Gale-Shapley algorithm (Wikipedia)
Includes: Gale-Shapley Algorithm, Lead sentence
Quote, Includes: Gale-Shapley Algorithm, Lead sentence
Gale-Shapley algorithm (also known as the deferred acceptance algorithm, propose-and-reject algorithm, or Boston Pool algorithm) is an algorithm for finding a solution to the stable matching problem.
View the Source
Leiden algorithm (Wikipedia)
Includes: Leiden Algorithm, Lead sentence
Quote, Includes: Leiden Algorithm, Lead sentence
Leiden algorithm is a community detection algorithm developed by Traag et al at Leiden University.
View the Source
Sieve of Atkin (Wikipedia)
Includes: Sieve of Atkin, Lead sentence
Quote, Includes: Sieve of Atkin, Lead sentence
sieve of Atkin is a modern algorithm for finding all prime numbers up to a specified integer.
View the Source
Pohlig-Hellman algorithm (Wikipedia)
Includes: Pohlig-Hellman Algorithm, Lead sentence
Quote, Includes: Pohlig-Hellman Algorithm, Lead sentence
Pohlig-Hellman algorithm, sometimes credited as the Silver-Pohlig-Hellman algorithm, is a special-purpose algorithm for computing discrete logarithms in a finite abelian group whose order is a smooth integer.
View the Source
Library sort (Wikipedia)
Includes: Library Sort, Lead sentence
Quote, Includes: Library Sort, Lead sentence
Library sort or gapped insertion sort is a sorting algorithm that uses an insertion sort, but with gaps in the array to accelerate subsequent insertions.
View the Source
Spreadsort (Wikipedia)
Includes: Spreadsort, Lead sentence
Quote, Includes: Spreadsort, Lead sentence
Spreadsort is a sorting algorithm invented by Steven J. Ross in 2002. It combines concepts from distribution-based sorts, such as radix sort and bucket sort, with partitioning concepts from comparison sorts such as quicksort and mergesort.
View the Source
Flashsort (Wikipedia)
Includes: Flashsort, Lead section
Quote, Includes: Flashsort, Lead section
Flashsort is a distribution sorting algorithm showing linear computational complexity O(n) for uniformly distributed data sets and relatively little additional memory requirement.
View the Source
Strand sort (Wikipedia)
Includes: Strand Sort, Lead sentence
Quote, Includes: Strand Sort, Lead sentence
Strand sort is a recursive sorting algorithm that sorts items of a list into increasing order.
View the Source
Tournament Sort (Wikipedia)
Includes: Tournament Sort, Lead sentence
Quote, Includes: Tournament Sort, Lead sentence
Tournament sort is a sorting algorithm.
View the Source
Lloyd's algorithm (Wikipedia)
Includes: Lloyd's Algorithm, Lead sentence
Quote, Includes: Lloyd's Algorithm, Lead sentence
Lloyd's algorithm, also known as Voronoi iteration or relaxation, is an algorithm named after Stuart P. Lloyd for finding evenly spaced sets of points in subsets of Euclidean spaces and partitions of these subsets into well-shaped and uniformly sized convex ce
View the Source
Reverse-Delete Algorithm (Wikipedia)
Includes: Reverse-Delete Algorithm, Lead sentence
Quote, Includes: Reverse-Delete Algorithm, Lead sentence
reverse-delete algorithm is an algorithm in graph theory used to obtain a minimum spanning tree from a given connected, edge-weighted graph.
View the Source
Gauss-Legendre algorithm (Wikipedia)
Includes: Gauss-Legendre Algorithm, Lead section
Quote, Includes: Gauss-Legendre Algorithm, Lead section
It is notable for being rapidly convergent, with only 25 iterations producing 45 million correct digits of π. However, it has some drawbacks (for example, it is computer memory-intensive) and therefore all record-breaking calculations for many years have used other methods, almost always the Chudnovsky algorithm.
View the Source
Chudnovsky algorithm (Wikipedia)
Includes: Chudnovsky Algorithm, Lead section
Quote, Includes: Chudnovsky Algorithm, Lead section
The Chudnovsky algorithm is a fast method for calculating the digits of π, based on Ramanujan's π formulae.
View the Source
Bogosort (Wikipedia)
Includes: Bogosort, Lead sentence
Quote, Includes: Bogosort, Lead sentence
bogosort (also known as permutation sort and stupid sort) is a sorting algorithm based on the generate and test paradigm.
View the Source
Bead sort (Wikipedia)
Includes: Bead Sort, Lead sentence
Quote, Includes: Bead Sort, Lead sentence
Bead sort, also called gravity sort, is a natural sorting algorithm, developed by Joshua J. Arulanandham, Cristian S. Calude and Michael J. Dinneen in 2002, and published in The Bulletin of the European Association for Theoretical Computer Science.
View the Source
Block sort (Wikipedia)
Includes: Block Sort, Lead section
Quote, Includes: Block Sort, Lead section
Block sort, or block merge sort, is a sorting algorithm combining at least two merge operations with an insertion sort to arrive at O(n log n) (see Big O notation) in-place stable sorting time.
View the Source
Quickselect (Wikipedia)
Includes: Quickselect, Lead sentence
Quote, Includes: Quickselect, Lead sentence
quickselect is a selection algorithm to find the kth smallest element in an unordered list, also known as the kth order statistic.
View the Source
B* (Wikipedia)
Includes: B* Algorithm, Lead sentence
Quote, Includes: B* Algorithm, Lead sentence
B* (pronounced "B star") is 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).
View the Source
Blossom algorithm (Wikipedia)
Includes: Blossom Algorithm, Lead sentence
Quote, Includes: Blossom Algorithm, Lead sentence
blossom algorithm is an algorithm for constructing maximum matchings on graphs.
View the Source
Fisher-Yates shuffle (Wikipedia)
Includes: Fisher-Yates Shuffle, Lead sentence
Quote, Includes: Fisher-Yates Shuffle, Lead sentence
Fisher-Yates shuffle is an algorithm for shuffling a finite sequence.
View the Source
Heap's Algorithm (Wikipedia)
Includes: Heap's Algorithm, Lead section
Quote, Includes: Heap's Algorithm, Lead section
Heap's algorithm generates all possible permutations of n objects.
View the Source
Shoelace Formula (Wikipedia)
Includes: Shoelace Formula, Lead sentence
Quote, Includes: Shoelace Formula, Lead sentence
shoelace formula, also known as Gauss's area formula and the surveyor's formula, is a mathematical algorithm to determine the area of a simple polygon whose vertices are described by their Cartesian coordinates in the plane.
View the Source
Hirschberg's algorithm (Wikipedia)
Includes: Hirschberg's Algorithm, Lead sentence
Quote, Includes: Hirschberg's Algorithm, Lead sentence
Hirschberg's algorithm, named after its inventor, Dan Hirschberg, is a dynamic programming algorithm that finds the optimal sequence alignment between two strings.
View the Source
Binary search (Wikipedia)
Includes: Binary Search Algorithm, Lead sentence
Quote, Includes: Binary Search Algorithm, Lead sentence
binary search, also known as half-interval search, logarithmic search, or binary chop, is a search algorithm that finds the position of a target value within a sorted array.
View the Source
Rete algorithm (Wikipedia)
Includes: Rete Algorithm, Lead section
Quote, Includes: Rete Algorithm, Lead section
The Rete algorithm ( REE-tee, RAY-tee, rarely REET, reh-TAY) is a pattern matching algorithm for implementing rule-based systems.
View the Source
Wikipedia: Maze generation algorithm
Includes: Maze generation algorithm, Lead sentence
Quote, Includes: Maze generation algorithm, Lead sentence
Maze generation algorithms are automated methods for the creation of mazes.
View the Source
Wikipedia: XOR swap algorithm
Includes: XOR swap algorithm, Lead sentence
Quote, Includes: XOR swap algorithm, Lead sentence
exclusive or swap (sometimes shortened to XOR swap) is an algorithm that uses the exclusive or bitwise operation to swap the values of two variables without using the temporary variable which is normally required.
View the Source
Wikipedia: Polynomial-time approximation scheme
Includes: Polynomial-time approximation scheme, Lead sentence
Quote, Includes: Polynomial-time approximation scheme, Lead sentence
polynomial-time approximation scheme (PTAS) is a type of approximation algorithm for optimization problems (most often, NP-hard optimization problems).
View the Source
Wikipedia: Pollard's kangaroo algorithm
Includes: Pollard's kangaroo algorithm, Lead sentence
Quote, Includes: Pollard's kangaroo algorithm, Lead sentence
Pollard's kangaroo algorithm (also Pollard's lambda algorithm, see Naming below) is an algorithm for solving the discrete logarithm problem.
View the Source
Wikipedia: Kernighan-Lin algorithm
Includes: Kernighan-Lin algorithm, Lead sentence
Quote, Includes: Kernighan-Lin algorithm, Lead sentence
Kernighan-Lin algorithm is a heuristic algorithm for finding partitions of graphs.
View the Source
Wikipedia: Multiplicative weight update method
Includes: Multiplicative weight update method, Lead sentence
Quote, Includes: Multiplicative weight update method, Lead sentence
multiplicative weights update method is an algorithmic technique most commonly used for decision making and prediction, and also widely deployed in game theory and algorithm design.
View the Source
Wikipedia: Flajolet-Martin algorithm
Includes: Flajolet-Martin algorithm, Lead sentence
Quote, Includes: Flajolet-Martin algorithm, Lead sentence
Flajolet-Martin algorithm is an algorithm for approximating the number of distinct elements in a stream with a single pass and space-consumption logarithmic in the maximal number of possible distinct elements in the stream (the count-distinct problem).
View the Source
Wikipedia: Greedy algorithm
Includes: Greedy Algorithm, Lead sentence
Quote, Includes: Greedy Algorithm, Lead sentence
greedy algorithm is an algorithm which, at each step, makes the choice that is locally optimal, and subsequently does not reconsider past choices.
View the Source
Wikipedia: Automatic differentiation
Includes: Automatic Differentiation, Lead sentence
Quote, Includes: Automatic Differentiation, Lead sentence
automatic differentiation (auto-differentiation, autodiff, or AD), also called algorithmic differentiation, computational differentiation, and differentiation arithmetic is a set of techniques to evaluate the partial derivative of a function specified by a com
View the Source
Wikipedia: Kabsch algorithm
Includes: Kabsch Algorithm, Lead sentence
Quote, Includes: Kabsch Algorithm, Lead sentence
Kabsch algorithm, also known as the Kabsch-Umeyama algorithm, named after Wolfgang Kabsch and Shinji Umeyama, is a method for calculating the optimal rotation matrix that minimizes the RMSD (root mean squared deviation) between two paired sets of points.
View the Source
Wikipedia: Nearest neighbor search
Includes: Nearest Neighbor Search, Lead sentence
Quote, Includes: Nearest Neighbor Search, Lead sentence
Nearest neighbor search (NNS), as a form of proximity search, is the optimization problem of finding the point in a given set that is closest (or most similar) to a given point.
View the Source
Wikipedia: March algorithm
Includes: March Algorithm, Lead sentence
Quote, Includes: March Algorithm, Lead sentence
March algorithm is a widely used algorithm that tests SRAM memory by filling all its entries test patterns.
View the Source
Wikipedia: Alpha max plus beta min algorithm
Includes: Alpha Max Plus Beta Min Algorithm, Lead sentence
Quote, Includes: Alpha Max Plus Beta Min Algorithm, Lead sentence
alpha max plus beta min algorithm is a high-speed approximation of the square root of the sum of two squares.
View the Source
Wikipedia: Sieve of Pritchard
Includes: Sieve of Pritchard, Lead sentence
Quote, Includes: Sieve of Pritchard, Lead sentence
sieve of Pritchard is an algorithm for finding all prime numbers up to a specified bound.
View the Source
Wikipedia: SMAWK algorithm
Includes: SMAWK Algorithm, Lead sentence
Quote, Includes: SMAWK Algorithm, Lead sentence
SMAWK algorithm is an algorithm for finding the minimum value in each row of an implicitly defined totally monotone matrix.
View the Source
Wikipedia: Sardinas-Patterson algorithm
Includes: Sardinas-Patterson Algorithm, Lead sentence
Quote, Includes: Sardinas-Patterson Algorithm, Lead sentence
Sardinas-Patterson algorithm is a classical algorithm for determining in polynomial time whether a given variable-length code is uniquely decodable, named after August Albert Sardinas and George W. Patterson, who published it in 1953. The algorithm carries out
View the Source
Wikipedia: Garsia-Wachs algorithm
Includes: Garsia-Wachs Algorithm, Lead sentence
Quote, Includes: Garsia-Wachs Algorithm, Lead sentence
Garsia-Wachs algorithm is an efficient method for computers to construct optimal binary search trees and alphabetic Huffman codes, in linearithmic time.
View the Source
Wikipedia: Holographic algorithm
Includes: Holographic Algorithm, Lead sentence
Quote, Includes: Holographic Algorithm, Lead sentence
holographic algorithm is an algorithm that uses a holographic reduction.
View the Source
Wikipedia: Kleene's algorithm
Includes: Kleene's Algorithm, Lead sentence
Quote, Includes: Kleene's Algorithm, Lead sentence
Kleene's algorithm transforms a given nondeterministic finite automaton (NFA) into a regular expression.
View the Source
Wikipedia: Devex algorithm
Includes: Devex Algorithm, Lead sentence
Quote, Includes: Devex Algorithm, Lead sentence
devex algorithm is a pivot rule for the simplex method developed by Paula M. J. Harris.
View the Source
Wikipedia: Lemke-Howson algorithm
Includes: Lemke-Howson Algorithm, Lead sentence
Quote, Includes: Lemke-Howson Algorithm, Lead sentence
Lemke-Howson algorithm is an algorithm that computes a Nash equilibrium of a bimatrix game, named after its inventors, Carlton E. Lemke and J. T. Howson.
View the Source
Wikipedia: Z curve
Includes: Z Curve, Lead sentence
Quote, Includes: Z Curve, Lead sentence
Z curve (or Z-curve) method is a bioinformatics algorithm for genome analysis.
View the Source
Wikipedia: Karloff-Zwick algorithm
Includes: Karloff-Zwick Algorithm, Lead sentence
Quote, Includes: Karloff-Zwick Algorithm, Lead sentence
Karloff-Zwick algorithm, in computational complexity theory, is a randomised approximation algorithm taking an instance of MAX-3SAT Boolean satisfiability problem as input.
View the Source
Wikipedia: Pfaffian orientation
Includes: Pfaffian Orientation, Lead sentence
Quote, Includes: Pfaffian Orientation, Lead sentence
Pfaffian orientation of an undirected graph assigns a direction to each edge, so that certain cycles (the "even central cycles") have an odd number of edges in each direction.
View the Source
Wikipedia: Randomized rounding
Includes: Randomized Rounding, Lead sentence
Quote, Includes: Randomized Rounding, Lead sentence
randomized rounding is a widely used approach for designing and analyzing approximation algorithms.
View the Source
Wikipedia: Behavior selection algorithm
Includes: Behavior Selection Algorithm, Lead sentence
Quote, Includes: Behavior Selection Algorithm, Lead sentence
behavior selection algorithm, or action selection algorithm, is an algorithm that selects appropriate behaviors or actions for one or more intelligent agents.
View the Source
Knuth-Eve algorithm (Wikipedia)
Includes: Knuth-Eve Algorithm, Lead sentence
Quote, Includes: Knuth-Eve Algorithm, Lead sentence
Knuth-Eve algorithm is an algorithm for polynomial evaluation.
View the Source
Wikipedia: Block swap algorithms
Includes: Block Swap Algorithms, Lead sentence
Quote, Includes: Block Swap Algorithms, Lead sentence
block swap algorithms swap two regions of elements of an array.
View the Source
Chandy-Misra-Haas algorithm resource model (Wikipedia)
Includes: Chandy-Misra-Haas Algorithm Resource Model, Lead sentence
Quote, Includes: Chandy-Misra-Haas Algorithm Resource Model, Lead sentence
Chandy-Misra-Haas algorithm resource model checks for deadlock in a distributed system.
View the Source
Wikipedia: Boltzmann sampler
Includes: Boltzmann Sampler, Lead sentence
Quote, Includes: Boltzmann Sampler, Lead sentence
Boltzmann sampler is an algorithm intended for random sampling of combinatorial structures.
View the Source
Wikipedia: Snap rounding
Includes: Snap Rounding, Lead sentence
Quote, Includes: Snap Rounding, Lead sentence
Snap rounding is a method of approximating line segment locations by creating a grid and placing each point in the centre of a cell (pixel) of the grid.
View the Source
Wikipedia: Newest vertex bisection
Includes: Newest Vertex Bisection, Lead sentence
Quote, Includes: Newest Vertex Bisection, Lead sentence
Newest Vertex Bisection is an algorithmic method to locally refine triangulations.
View the Source
Wikipedia: Jump-and-Walk algorithm
Includes: Jump-and-Walk Algorithm, Lead sentence
Quote, Includes: Jump-and-Walk Algorithm, Lead sentence
Jump-and-Walk is an algorithm for point location in triangulations (though most of the theoretical analysis were performed in 2D and 3D random Delaunay triangulations).
View the Source
Wikipedia: Swendsen-Wang algorithm
Includes: Swendsen-Wang Algorithm, Lead sentence
Quote, Includes: Swendsen-Wang Algorithm, Lead sentence
Swendsen-Wang algorithm is the first non-local or cluster algorithm for Monte Carlo simulation for large systems near criticality.
View the Source
Wikipedia: Method of conditional probabilities
Includes: Method of Conditional Probabilities, Lead sentence
Quote, Includes: Method of Conditional Probabilities, Lead sentence
method of conditional probabilities is a systematic method for converting non-constructive probabilistic existence proofs into efficient deterministic algorithms that explicitly construct the desired object.
View the Source
Wikipedia: Pointer jumping
Includes: Pointer Jumping, Lead sentence
Quote, Includes: Pointer Jumping, Lead sentence
Pointer jumping or path doubling is a design technique for parallel algorithms that operate on pointer structures, such as linked lists and directed graphs.
View the Source
Wikipedia: Domain reduction algorithm
Includes: Domain Reduction Algorithm, Lead sentence
Quote, Includes: Domain Reduction Algorithm, Lead sentence
Domain reduction algorithms are algorithms used to reduce constraints and degrees of freedom in order to provide solutions for partial differential equations.
View the Source
Wikipedia: Miller's recurrence algorithm
Includes: Miller's Recurrence Algorithm, Lead sentence
Quote, Includes: Miller's Recurrence Algorithm, Lead sentence
Miller's recurrence algorithm is a procedure for the backward calculation of a rapidly decreasing solution of a three-term recurrence relation developed by J. C. P. Miller.
View the Source
Wikipedia: British Museum algorithm
Includes: British Museum Algorithm, Lead sentence
Quote, Includes: British Museum Algorithm, Lead sentence
British Museum algorithm is a general approach to finding a solution by checking all possibilities one by one, beginning with the smallest.
View the Source
Wikipedia: Rao-Sandelius shuffle
Includes: Rao-Sandelius Shuffle, Lead sentence
Quote, Includes: Rao-Sandelius Shuffle, Lead sentence
Rao-Sandelius shuffle is a divide-and-conquer algorithm for shuffling a finite sequence.
View the Source
Wikipedia: Bidimensionality
Includes: Bidimensionality, Lead sentence
Quote, Includes: Bidimensionality, Lead sentence
Bidimensionality theory characterizes a broad range of graph problems (bidimensional) that admit efficient approximate, fixed-parameter or kernel solutions in a broad range of graphs.
View the Source
Fully polynomial-time approximation scheme (Wikipedia)
Includes: Fully polynomial-time approximation scheme, Lead sentence
Quote, Includes: Fully polynomial-time approximation scheme, Lead sentence
fully polynomial-time approximation scheme (FPTAS) is an algorithm for finding approximate solutions to function problems, especially optimization problems.
View the Source
Elimination theory (Wikipedia)
Includes: Elimination theory, Lead sentence
Quote, Includes: Elimination theory, Lead sentence
elimination theory is the classical name for algorithmic approaches to eliminating some variables between polynomials of several variables, in order to solve systems of polynomial equations.
View the Source
APX (complexity class) (Wikipedia)
Includes: APX, Lead sentence
Quote, Includes: APX, Lead sentence
APX (an abbreviation of "approximable") is the set of NP optimization problems that allow polynomial-time approximation algorithms with approximation ratio bounded by a constant (or constant-factor approximation algorithms for short).
View the Source
Parameterized approximation algorithm (Wikipedia)
Includes: Parameterized approximation algorithm, Lead sentence
Quote, Includes: Parameterized approximation algorithm, Lead sentence
parameterized approximation algorithm is a type of algorithm that aims to find approximate solutions to NP-hard optimization problems in polynomial time in the input size and a function of a specific parameter.
View the Source
Robinson-Schensted-Knuth correspondence (Wikipedia)
Includes: Robinson-Schensted-Knuth correspondence, Lead section
Quote, Includes: Robinson-Schensted-Knuth correspondence, Lead section
In mathematics, the Robinson-Schensted-Knuth correspondence, also referred to as the RSK correspondence or RSK algorithm, is a combinatorial bijection between matrices A with non-negative integer entries and pairs (P,Q) of semistandard Young tableaux of equal shape, whose size equals the sum of the entries of A.
View the Source
Collective operation (Wikipedia)
Includes: Collective operation, Lead sentence
Quote, Includes: Collective operation, Lead sentence
Collective operations are building blocks for interaction patterns, that are often used in SPMD algorithms in the parallel programming context.
View the Source
Generalized distributive law (Wikipedia)
Includes: Generalized distributive law, Lead sentence
Quote, Includes: Generalized distributive law, Lead sentence
generalized distributive law (GDL) is a generalization of the distributive property which gives rise to a general message passing algorithm.
View the Source
Ramesh Sitaraman, Wikipedia
Includes: Ramesh Sitaraman, Lead sentence
Quote, Includes: Ramesh Sitaraman, Lead sentence
Ramesh Sitaraman is an Indian American computer scientist known for his work on distributed algorithms, content delivery networks, streaming video delivery, and application delivery networks.
View the Source
Wikipedia: Edith Cohen
  • Includes: Edith Cohen, Lead sentence
    Edith Cohen (Hebrew: עידית כהן; born May 21, 1966) is an Israeli and American computer scientist specializing in data mining and algorithms for big data.
  • Includes: Edith Cohen, Lead paragraph
View the Source
Martin Farach-Colton (Wikipedia)
Includes: Martin Farach-Colton, Lead sentence
Quote, Includes: Martin Farach-Colton, Lead sentence
Martin Farach-Colton is an American computer scientist, known for his work in streaming algorithms, suffix tree construction, pattern matching in compressed data, cache-oblivious algorithms, and lowest common ancestor data structures.
View the Source
Oscar H. Ibarra (Wikipedia)
Includes: Oscar H. Ibarra, Lead sentence
Quote, Includes: Oscar H. Ibarra, Lead sentence
Oscar H. Ibarra (born September 29, 1941 in Negros Occidental, Philippines) is a Filipino-American theoretical computer scientist, prominent for work in automata theory, formal languages, design and analysis of algorithms and computational complexity theory.
View the Source
Yefim Dinitz (Wikipedia)
  • Includes: Yefim Dinitz, Lead section
    Yefim Dinitz (Russian: Ефим Абрамович Диниц, Hebrew: יפים דיניץ) is a Soviet and Israeli computer scientist associated with the Moscow school of polynomial-time algorithms.
  • Includes: Yefim Dinitz, Lead paragraph
View the Source
Otfried Cheong (Wikipedia)
  • Includes: Otfried Cheong, Lead section
    Otfried Cheong (Korean: 오트프리드 정; formerly Otfried Schwarzkopf) is a German computational geometer working in South Korea at KAIST. He is known as one of the authors of the widely used computational geometry textbook Computational Geometry: Algorithms and Applications (with Mark de Berg, Marc van Kreveld, and Mark Overmars) and as the developer of Ipe, a vector graphics editor.
  • Includes: Otfried Cheong, Lead paragraph
View the Source
Elias Koutsoupias (Wikipedia)
Includes: Elias Koutsoupias, Lead sentence
Quote, Includes: Elias Koutsoupias, Lead sentence
Elias Koutsoupias is a Greek computer scientist working in algorithmic game theory.
View the Source
Paul Spirakis (Wikipedia)
  • Includes: Paul Spirakis, Lead sentence
    Paul Spirakis is a Professor of Computer Science at the University of Liverpool, specialising in Algorithms, Complexity and Algorithmic Game Theory.
  • Includes: Paul Spirakis, Lead paragraph
View the Source
Wikipedia: Donald Knuth
Wikimedia FoundationIncludes: Donald Knuth, Lead paragraphView the Source
Wikipedia: Ron Rivest
Wikimedia FoundationIncludes: Ron Rivest, Lead paragraphView the Source
Wikipedia: Robert Tarjan
Wikimedia FoundationIncludes: Robert Tarjan, Lead paragraphView the Source
Wikipedia: Andrew Viterbi
Wikimedia FoundationIncludes: Andrew Viterbi, Lead paragraphView the Source
Wikipedia: Narendra Karmarkar
Wikimedia FoundationIncludes: Narendra Karmarkar, Lead paragraphView the Source
Wikipedia: Volker Strassen
Wikimedia FoundationIncludes: Volker Strassen, Lead paragraphView the Source
Wikipedia: Rediet Abebe
Wikimedia FoundationIncludes: Rediet Abebe, Lead paragraphView the Source
Wikipedia: Robert W. Floyd
Wikimedia Foundation
  • Includes: Robert W. Floyd, Lead paragraph
  • Includes: Robert Floyd, Lead
    His contributions include the design of the Floyd-Warshall algorithm (independently of Stephen Warshall), which efficiently finds all shortest paths in a graph and his work on parsing; Floyd's cycle-finding algorithm for detecting cycles in a sequence was attributed to him as well.
View the Source
Wikipedia: David Eppstein
Wikimedia FoundationIncludes: David Eppstein, Lead paragraphView the Source
Wikipedia: Neeraj Kayal
Wikimedia FoundationIncludes: Neeraj Kayal, Lead paragraphView the Source
Wikipedia: David S. Johnson
Wikimedia FoundationIncludes: David S. Johnson, Lead paragraphView the Source
Wikipedia: D. R. Fulkerson
Wikimedia FoundationIncludes: D. R. Fulkerson, Lead paragraphView the Source
Wikipedia: Rudolf Bayer
Wikimedia FoundationIncludes: Rudolf Bayer, Lead paragraphView the Source
Wikipedia: Daniel Sleator
Wikimedia FoundationIncludes: Daniel Sleator, Lead paragraphView the Source
Wikipedia: Cecilia R. Aragon
Wikimedia FoundationIncludes: Cecilia R. Aragon, Lead paragraphView the Source
Wikipedia: Richard M. Karp
Wikimedia FoundationIncludes: Richard M. Karp, Lead paragraphView the Source
Wikipedia: Robert S. Boyer
Wikimedia FoundationIncludes: Robert S. Boyer, Lead paragraphView the Source
Wikipedia: Shimon Even
Includes: Shimon Even, Lead paragraphView the Source
Wikipedia: Marek Karpinski
Includes: Marek Karpinski, Lead paragraphView the Source
Wikipedia, Foto Afrati
Includes: Foto Afrati, Lead paragraphView the Source
Wikipedia, Pankaj K. Agarwal
Includes: Pankaj K. Agarwal, Lead paragraphView the Source
Lars Arge, Wikipedia
Includes: Lars Arge, Lead paragraphView the Source
Tetsuo Asano, Wikipedia
Includes: Tetsuo Asano, Lead paragraphView the Source
Ricardo Baeza-Yates, Wikipedia
Includes: Ricardo Baeza-Yates, Lead paragraphView the Source
Guy Blelloch, Wikipedia
Includes: Guy Blelloch, Lead paragraphView the Source
Avrim Blum, Wikipedia
Includes: Avrim Blum, Lead paragraphView the Source
Bernard Chazelle - Wikipedia
Includes: Bernard Chazelle, Lead paragraphView the Source
Kenneth L. Clarkson - Wikipedia
Includes: Kenneth L. Clarkson, Lead paragraphView the Source
Wikipedia: Richard J. Cole
Includes: Richard J. Cole, Lead paragraphView the Source
Wikipedia: Andrew V. Goldberg
Wikimedia FoundationIncludes: Andrew V. Goldberg, Lead paragraphView the Source
Tamal Dey (Wikipedia)
Includes: Tamal Dey, Lead paragraphView the Source
David P. Dobkin (Wikipedia)
Includes: David P. Dobkin, Lead paragraphView the Source
Franco P. Preparata (Wikipedia)
Includes: Franco P. Preparata, Lead paragraphView the Source
Wikipedia: Amos Fiat
Wikimedia FoundationIncludes: Amos Fiat, Lead paragraphView the Source
Wikipedia: Edmonds-Karp Algorithm
Wikimedia FoundationIncludes: Edmonds-Karp Algorithm, Lead paragraphView the Source
Wikipedia: Branch and Bound Algorithm
Wikimedia FoundationIncludes: Branch and Bound Algorithm, Lead paragraphView the Source
Wikipedia: Euclidean Algorithm
Wikimedia FoundationIncludes: Euclidean Algorithm, Lead paragraphView the Source
Wikipedia: Gift wrapping algorithm
Includes: Jarvis March Algorithm, Lead paragraphView the Source
Wikipedia: Quickhull
Includes: Quickhull Algorithm, Lead paragraphView the Source
Wikipedia: Chan's algorithm
Includes: Chan's Algorithm, Lead paragraphView the Source
Wikipedia: Topological Sort
Wikimedia FoundationIncludes: Kahn's Algorithm, Lead paragraphView the Source
Extended Euclidean Algorithm (Wikipedia)
Includes: Extended Euclidean Algorithm, Lead paragraphView the Source
Wikipedia: Exponential search
Includes: Exponential Search Algorithm, Lead paragraphView the Source
Wikipedia: Cocktail shaker sort
Includes: Cocktail Sort Algorithm, Lead paragraphView the Source
Longest palindromic substring, Wikipedia
Includes: Manacher's Algorithm, Lead paragraphView the Source
Bitonic sorter (Wikipedia)
Includes: Bitonic Mergesort, Lead paragraphView the Source
Lempel-Ziv-Welch (Wikipedia)
Includes: LZW Algorithm, Lead paragraphView the Source
Lin-Kernighan heuristic (Wikipedia)
Includes: Lin-Kernighan Algorithm, Lead paragraphView the Source
Schönhage-Strassen algorithm (Wikipedia)
Includes: Schonhage-Strassen Algorithm, Lead paragraphView the Source
CYK algorithm (Wikipedia)
Includes: CYK Algorithm, Lead paragraphView the Source
Boyer-Moore majority vote algorithm (Wikipedia)
Includes: Boyer-Moore Majority Vote Algorithm, Lead paragraphView the Source
Kirkpatrick-Seidel algorithm (Wikipedia)
Includes: Kirkpatrick-Seidel Algorithm, Lead paragraphView the Source
Introselect (Wikipedia)
Includes: Introselect, Lead paragraphView the Source
Steinhaus-Johnson-Trotter algorithm (Wikipedia)
Includes: Steinhaus-Johnson-Trotter Algorithm, Lead paragraphView the Source
Lenstra-Lenstra-Lovász lattice basis reduction algorithm (Wikipedia)
Includes: Lenstra-Lenstra-Lovasz Algorithm, Lead paragraphView the Source
Smallest-circle problem (Wikipedia)
Includes: Welzl's Algorithm, Lead paragraphView the Source
Eulerian path (Wikipedia)
  • Includes: Hierholzer's Algorithm, Lead paragraph
  • Includes: Fleury's Algorithm, Lead paragraph
View the Source
Wikipedia: Nearest neighbour algorithm
Includes: Nearest Neighbour Algorithm, Lead paragraphView the Source
Wikipedia: Shortest common supersequence
Includes: Shortest Common Supersequence, Lead paragraphView the Source
Wikipedia: Baker's technique
Includes: Baker's Technique, Lead paragraphView the Source
Wikipedia: Convex volume approximation
Includes: Convex Volume Approximation, Lead paragraphView the Source
Enumeration algorithm (Wikipedia)
Includes: Enumeration algorithm, Lead paragraphView the Source
Certifying algorithm (Wikipedia)
Includes: Certifying algorithm, Lead paragraphView the Source
Wikipedia: Manindra Agrawal
Wikimedia FoundationIncludes: Manindra Agrawal, Infobox field and known_for, lead paragraphView the Source
Wikipedia: Mark Overmars
Wikimedia FoundationIncludes: Mark Overmars, Infobox field and known_for, lead paragraphView the Source
Wikipedia: Vijay Vazirani
Wikimedia FoundationIncludes: Vijay Vazirani, Infobox field and known_for, lead paragraphView the Source
Wikipedia: Mike Paterson
Wikimedia FoundationIncludes: Mike Paterson, Infobox field and known_for, lead paragraphView the Source
Wikipedia: David Karger
Wikimedia FoundationIncludes: David Karger, Infobox field and known_for, lead paragraphView the Source
Sartaj Sahni (Wikipedia)
Includes: Sartaj Sahni, Infobox field and known_for, lead paragraphView the Source
Krishna Palem (Wikipedia)
Includes: Krishna Palem, Infobox field and known_for, lead paragraphView the Source
Wikipedia: Joseph Kruskal
Wikimedia FoundationIncludes: Joseph Kruskal, Infobox: known_for
Quote, Includes: Joseph Kruskal, Infobox: known_for
Multidimensional scaling Kruskal's algorithm Kruskal's tree theorem Kruskal-Katona theorem
View the Source
Wikipedia: James Cooley
Wikimedia FoundationIncludes: James Cooley, Infobox: known_for
Quote, Includes: James Cooley, Infobox: known_for
Blackman-Tukey transformation Cooley-Tukey FFT algorithm
View the Source
Wikipedia: Shang-Hua Teng
Wikimedia FoundationIncludes: Shang-Hua Teng, Infobox: known_for
Quote, Includes: Shang-Hua Teng, Infobox: known_for
smoothed analysis of algorithms
View the Source
Wikipedia: Godfried Toussaint
Wikimedia FoundationIncludes: Godfried Toussaint, Lead
Quote, Includes: Godfried Toussaint, Lead
He is considered to be the father of computational geometry in Canada.
View the Source
Wikipedia: Roberto Tamassia
Includes: Roberto Tamassia, Lead
Quote, Includes: Roberto Tamassia, Lead
His research specialty is in the design and analysis of algorithms for graph drawing, computational geometry, and computer security.
View the Source
Srinivas Aluru, Wikipedia
Includes: Srinivas Aluru, Lead
Quote, Includes: Srinivas Aluru, Lead
His main areas of research are high performance computing, data science, bioinformatics and systems biology, combinatorial methods in scientific computing, and string algorithms.
View the Source
David Bader (computer scientist) (Wikipedia)
Includes: David Bader (computer scientist), Infobox: known_for
Quote, Includes: David Bader (computer scientist), Infobox: known_for
Inventing commodity supercomputing Scalable Graph Algorithms Founding the School of Computational Science and Engineering at Georgia Tech Founding director, Institute for Data Science at NJIT
View the Source
Tim Roughgarden (Wikipedia)
Includes: Tim Roughgarden, Infobox: known_for
Quote, Includes: Tim Roughgarden, Infobox: known_for
Contributions to algorithms and game theory in the context of computer science
View the Source
Wikipedia: John Tukey
Includes: John Tukey, Lead
Quote, Includes: John Tukey, Lead
John Wilder Tukey (; June 16, 1915, July 26, 2000) was an American mathematician and statistician, best known for the development of the fast Fourier Transform (FFT) algorithm, the box plot and for laying the foundations of the field of exploratory data analysis.
View the Source
Wikipedia: Graham Scan Algorithm
Wikimedia FoundationIncludes: Graham Scan Algorithm, Lead
Quote, Includes: Graham Scan Algorithm, Lead
Graham's scan is a method of finding the convex hull of a finite set of points in the plane with time complexity O(n log n).
View the Source
Wikipedia: Bloom filter
Wikimedia FoundationIncludes: Bloom Filter Algorithm, Lead
Quote, Includes: Bloom Filter Algorithm, Lead
In computing, a Bloom filter is a space-efficient probabilistic data structure, conceived by Burton Howard Bloom in 1970, that is used to test whether an element is a member of a set.
View the Source
Cuckoo hashing (Wikipedia)
Includes: Cuckoo hashing, Lead
Quote, Includes: Cuckoo hashing, Lead
Cuckoo hashing is a scheme in computer programming for resolving hash collisions of values of hash functions in a table, with worst-case constant lookup time.
View the Source
Powersort (Wikipedia)
Includes: Powersort, Lead
Quote, Includes: Powersort, Lead
Powersort is an adaptive sorting algorithm designed to optimally exploit existing order in the input data with minimal overhead.
View the Source
Tree sort (Wikipedia)
Includes: Tree sort, Lead
Quote, Includes: Tree sort, Lead
A tree sort is a sort algorithm that builds a binary search tree from the elements to be sorted, and then traverses the tree (in-order) so that the elements come out in sorted order.
View the Source
Quotient filter (Wikipedia)
Includes: Quotient filter, Lead
Quote, Includes: Quotient filter, Lead
A quotient filter is a space-efficient probabilistic data structure used to test whether an element is a member of a set (an approximate membership query filter, AMQ). A query will elicit a reply specifying either that the element is definitely not in the set or that the element is probably in the set.
View the Source
Stooge sort (Wikipedia)
Includes: Stooge sort, Lead
Quote, Includes: Stooge sort, Lead
Stooge sort is a recursive sorting algorithm.
View the Source
Wikipedia: Boyer-Moore Algorithm
Wikimedia FoundationIncludes: Boyer-Moore Algorithm, Lead
Quote, Includes: Boyer-Moore Algorithm, Lead
In computer science, the Boyer-Moore string-search algorithm is an efficient string-searching algorithm that is the standard benchmark for practical string-search literature.
View the Source
Wikipedia: Seinosuke Toda
Includes: Seinosuke Toda, Lead
Quote, Includes: Seinosuke Toda, Lead
He was a recipient of the 1998 Gödel Prize for proving Toda's theorem in computational complexity theory, which states that every problem in the polynomial hierarchy has a polynomial-time Turing reduction to a counting problem.
View the Source
Push-relabel maximum flow algorithm (Wikipedia)
Includes: Push-Relabel Algorithm, Lead
Quote, Includes: Push-Relabel Algorithm, Lead
In mathematical optimization, the push-relabel algorithm (alternatively, preflow-push algorithm) is an algorithm for computing maximum flows in a flow network.
View the Source
Random sample consensus (Wikipedia)
Includes: Random Sample Consensus Algorithm, Lead
Quote, Includes: Random Sample Consensus Algorithm, Lead
It is a non-deterministic algorithm in the sense that it produces a reasonable result only with a certain probability, with this probability increasing as more iterations are allowed.
View the Source
Ahmed Sameh (Wikipedia)
Includes: Ahmed Sameh, Lead
Quote, Includes: Ahmed Sameh, Lead
He is known for his contributions to parallel algorithms in numerical linear algebra.
View the Source
Metaphone (Wikipedia)
Includes: Metaphone Algorithm, Lead
Quote, Includes: Metaphone Algorithm, Lead
Metaphone is a phonetic algorithm, published by Lawrence Philips in 1990, for indexing words by their English pronunciation.
View the Source
Prüfer sequence (Wikipedia)
Includes: Prufer Sequence Algorithm, Lead
Quote, Includes: Prufer Sequence Algorithm, Lead
The sequence for a tree on n vertices has length n − 2, and can be generated by a simple iterative algorithm.
View the Source
Canny edge detector (Wikipedia)
Includes: Canny Edge Detection Algorithm, Lead
Quote, Includes: Canny Edge Detection Algorithm, Lead
The Canny edge detector is an edge detection operator that uses a multi-stage algorithm to detect a wide range of edges in images.
View the Source
Byte-pair encoding (Wikipedia)
Includes: Byte Pair Encoding Algorithm, Lead
Quote, Includes: Byte Pair Encoding Algorithm, Lead
In computing, byte-pair encoding (BPE), or digram coding, is an algorithm, first described in 1994 by Philip Gage, for encoding strings of text into smaller strings by creating and using a translation table.
View the Source
Wikipedia: Long division
Includes: Long division, Lead
Quote, Includes: Long division, Lead
In arithmetic, long division is a standard division algorithm suitable for dividing multi-digit numbers that is simple enough to perform by hand.
View the Source
Wikipedia: Verhoeff algorithm
Includes: Verhoeff algorithm, Lead
Quote, Includes: Verhoeff algorithm, Lead
The Verhoeff algorithm is a checksum for error detection first published by Dutch mathematician Jacobus Verhoeff in 1969.
View the Source
Wikipedia: Pan-Tompkins algorithm
Includes: Pan-Tompkins algorithm, Lead
Quote, Includes: Pan-Tompkins algorithm, Lead
The Pan-Tompkins algorithm is commonly used to detect QRS complexes in electrocardiographic signals (ECG).
View the Source
Wikipedia: Luhn algorithm
Includes: Luhn Algorithm, Lead
Quote, Includes: Luhn Algorithm, Lead
The Luhn algorithm or Luhn formula (creator: IBM scientist Hans Peter Luhn), also known as the "modulus 10" or "mod 10" algorithm, is a simple check digit formula used to validate a variety of identification numbers.
View the Source
Wikipedia: Zeller's congruence
Includes: Zeller's Congruence, Lead
Quote, Includes: Zeller's Congruence, Lead
Zeller's congruence is an algorithm devised by Christian Zeller in the 19th century to calculate the day of the week for any Julian or Gregorian calendar date.
View the Source
Wikipedia: Adler-32
Includes: Adler-32, Lead
Quote, Includes: Adler-32, Lead
Adler-32 is a checksum algorithm written by Mark Adler in 1995, modifying Fletcher's checksum.
View the Source
Wikipedia: Damm algorithm
Includes: Damm Algorithm, Lead
Quote, Includes: Damm Algorithm, Lead
In error detection, the Damm algorithm is a check digit algorithm that detects all single-digit errors and all adjacent transposition errors.
View the Source
Wikipedia: Note G
Includes: Note G, Lead
Quote, Includes: Note G, Lead
Note G is a computer algorithm traditionally attributed to Ada Lovelace that was designed to calculate Bernoulli numbers using the hypothetical analytical engine designed by Charles Babbage.
View the Source
Wikipedia: Berlekamp-Rabin algorithm
Includes: Berlekamp-Rabin Algorithm, Lead
Quote, Includes: Berlekamp-Rabin Algorithm, Lead
In number theory, Berlekamp's root finding algorithm, also called the Berlekamp-Rabin algorithm, is the probabilistic method of finding roots of polynomials over the field F p {\displaystyle \mathbb {F} _{p}} with p {\displaystyle p} elements.
View the Source
Wikipedia: Manhattan address algorithm
Includes: Manhattan Address Algorithm, Lead
Quote, Includes: Manhattan Address Algorithm, Lead
The Manhattan address algorithm is a series of formulas used to estimate the closest east-west cross street for building numbers on north-south avenues in the New York City borough of Manhattan.
View the Source
Wikipedia: BSD checksum
Includes: BSD Checksum, Lead
Quote, Includes: BSD Checksum, Lead
The BSD checksum algorithm was a commonly used, legacy checksum algorithm.
View the Source
Wikipedia: Polynomial identity testing
Includes: Polynomial Identity Testing, Lead
Quote, Includes: Polynomial Identity Testing, Lead
More formally, a PIT algorithm is given an arithmetic circuit that computes a polynomial p in a field, and decides whether p is the zero polynomial.
View the Source
Wikipedia: Xulvi-Brunet-Sokolov algorithm
Includes: Xulvi-Brunet-Sokolov Algorithm, Lead
Quote, Includes: Xulvi-Brunet-Sokolov Algorithm, Lead
Xulvi-Brunet and Sokolov's algorithm generates networks with chosen degree correlations.
View the Source
Bartels-Stewart algorithm (Wikipedia)
Includes: Bartels-Stewart Algorithm, Lead
Quote, Includes: Bartels-Stewart Algorithm, Lead
In numerical linear algebra, the Bartels-Stewart algorithm is used to numerically solve the Sylvester matrix equation A X − X B = C {\displaystyle AX-XB=C} .
View the Source
Kullback-Leibler Upper Confidence Bound (Wikipedia)
Includes: Kullback-Leibler Upper Confidence Bound, Lead
Quote, Includes: Kullback-Leibler Upper Confidence Bound, Lead
In multi-armed bandit problems, KL-UCB (for Kullback-Leibler Upper Confidence Bound) is a UCB-type algorithm that is asymptotically optimal, in the sense that its regret matches the problem-dependent Lai-Robbins lower bound.
View the Source
Wikipedia: Collaborative diffusion
Includes: Collaborative Diffusion, Lead
Quote, Includes: Collaborative Diffusion, Lead
Collaborative Diffusion is a type of pathfinding algorithm which uses the concept of antiobjects, objects within a computer program that function opposite to what would be conventionally expected.
View the Source
Wikipedia: Token reconfiguration
Includes: Token Reconfiguration, Lead
Quote, Includes: Token Reconfiguration, Lead
In computational complexity theory and combinatorics, the token reconfiguration problem is a reconfiguration problem on a graph with both an initial and desired state for tokens.
View the Source
Wikipedia: Kunstweg
Includes: Kunstweg, Lead
Quote, Includes: Kunstweg, Lead
Bürgi's Kunstweg is a set of algorithms developed by Jost Bürgi in the late 16th century.
View the Source
Wikipedia: SimHash
Includes: SimHash, Lead
Quote, Includes: SimHash, Lead
The algorithm is used by the Google Crawler to find near duplicate pages.
View the Source
Hybrid algorithm (Wikipedia)
Includes: Hybrid algorithm, Lead
Quote, Includes: Hybrid algorithm, Lead
A hybrid algorithm is an algorithm that combines two or more other algorithms that solve the same problem, either choosing one based on some characteristic of the data, or switching between them over the course of the algorithm.
View the Source
Communication-avoiding algorithm (Wikipedia)
Includes: Communication-avoiding algorithm, Lead
Quote, Includes: Communication-avoiding algorithm, Lead
Communication-avoiding algorithms minimize movement of data within a memory hierarchy for improving its running-time and energy consumption.
View the Source
Geohash-36 (Wikipedia)
Includes: Geohash-36, Lead
Quote, Includes: Geohash-36, Lead
The Geohash-36 geocode is an open-source compression algorithm for world coordinate data.
View the Source
Regula falsi (Wikipedia)
Includes: Regula falsi, Lead
Quote, Includes: Regula falsi, Lead
In mathematics, the regula falsi, method of false position, or false position method is a family of algorithms used to solve linear equations and smooth nonlinear equations for a single unknown value.
View the Source
Power iteration (Wikipedia)
Includes: Power iteration, Lead
Quote, Includes: Power iteration, Lead
In mathematics, power iteration (also known as the power method) is an eigenvalue algorithm: given a diagonalizable matrix A {\displaystyle A} , the algorithm will produce a number λ {\displaystyle \lambda } , which is the greatest (in absolute value) eigenvalue of A {\displaystyle A} , and a nonzero vector v {\displaystyle v} , which is a corresponding eigenvector of λ {\displaystyle \lambda } , that is, A v = λ v {\displaystyle Av=\lambda v} .
View the Source
Trial division (Wikipedia)
Includes: Trial division, Lead
Quote, Includes: Trial division, Lead
Trial division is the most laborious but easiest to understand of the integer factorization algorithms.
View the Source
Lanczos algorithm (Wikipedia)
Includes: Lanczos algorithm, Lead
Quote, Includes: Lanczos algorithm, Lead
The Lanczos algorithm is an iterative method devised by Cornelius Lanczos that is an adaptation of power methods to find the m {\displaystyle m} "most useful" (tending towards extreme highest/lowest) eigenvalues and eigenvectors of an n × n {\displaystyle n\times n} Hermitian matrix, where m {\displaystyle m} is often but not necessarily much smaller than n {\displaystyle n} .
View the Source
Wikipedia: Hill Climbing Algorithm
Wikimedia FoundationIncludes: Hill Climbing Algorithm, Lead
Quote, Includes: Hill Climbing Algorithm, Lead
It is an iterative algorithm that starts with an arbitrary solution to a problem, then attempts to find a better solution by making an incremental change to the solution.
View the Source
Local outlier factor (Wikipedia)
Includes: Local Outlier Factor Algorithm, Lead
Quote, Includes: Local Outlier Factor Algorithm, Lead
In anomaly detection, the local outlier factor (LOF) is an algorithm proposed by Markus M.
View the Source
Quadratic sieve (Wikipedia)
Includes: Quadratic Sieve Algorithm, Lead
Quote, Includes: Quadratic Sieve Algorithm, Lead
The quadratic sieve algorithm (QS) is an integer factorization algorithm and, in practice, the second-fastest method known (after the general number field sieve).
View the Source
LZ77 and LZ78 (Wikipedia)
  • Includes: LZ77 Algorithm, Lead
    LZ77 and LZ78 are the two lossless data compression algorithms published in papers by Abraham Lempel and Jacob Ziv in 1977 and 1978.
  • Includes: LZ78 Algorithm, Lead
    LZ77 and LZ78 are the two lossless data compression algorithms published in papers by Abraham Lempel and Jacob Ziv in 1977 and 1978.
View the Source
Deflate (Wikipedia)
Includes: DEFLATE Algorithm, Lead
Quote, Includes: DEFLATE Algorithm, Lead
In computing, Deflate (stylized as DEFLATE) is a lossless data compression algorithm that uses a combination of LZ77 and Huffman coding.
View the Source
General number field sieve (Wikipedia)
Includes: General Number Field Sieve Algorithm, Lead
Quote, Includes: General Number Field Sieve Algorithm, Lead
In number theory, the general number field sieve (GNFS) is the most efficient classical algorithm known for factoring integers larger than 10100.
View the Source
Wikipedia: Huffman coding
Wikimedia FoundationIncludes: Huffman Coding Algorithm, Lead
Quote, Includes: Huffman Coding Algorithm, Lead
The process of finding or using such a code is Huffman coding, an algorithm developed by David A.
View the Source
LZMA (Wikipedia)
Includes: LZMA Algorithm, Lead
Quote, Includes: LZMA Algorithm, Lead
LZMA (Lempel-Ziv-Markov chain algorithm) is a lossless data compression algorithm developed since 1998 by Igor Pavlov, the developer of 7-Zip.
View the Source
Wikipedia: Red-black tree
Wikimedia FoundationIncludes: Red-Black Tree Algorithm, Lead
Quote, Includes: Red-Black Tree Algorithm, Lead
In computer science, a red-black tree is a self-balancing binary search tree data structure noted for fast storage and retrieval of ordered information.
View the Source
Kalman filter (Wikipedia)
Includes: Kalman Filter Algorithm, Lead
Quote, Includes: Kalman Filter Algorithm, Lead
In statistics and control theory, Kalman filtering (also known as linear quadratic estimation) is an algorithm that uses a series of measurements observed over time, including statistical noise and other inaccuracies, to produce estimates of unknown variables that tend to be more accurate than those based on a single measurement, by estimating a joint probability distribution over the variables for each time-step.
View the Source
Gibbs sampling (Wikipedia)
Includes: Gibbs Sampling Algorithm, Lead
Quote, Includes: Gibbs Sampling Algorithm, Lead
In statistics, Gibbs sampling or a Gibbs sampler, also known in statistical mechanics as the heat bath algorithm, is a Markov chain Monte Carlo (MCMC) algorithm for sampling from a specified multivariate probability distribution when direct sampling from the joint distribution is difficult, but sampling from the conditional distribution is more practical.
View the Source
Mersenne Twister (Wikipedia)
Includes: Mersenne Twister Algorithm, Lead
Quote, Includes: Mersenne Twister Algorithm, Lead
The most commonly used version of the Mersenne Twister algorithm is based on the Mersenne prime 2 19937 − 1 {\displaystyle 2^{19937}-1} .
View the Source
Zstd (Wikipedia)
Includes: Zstandard Algorithm, Lead
Quote, Includes: Zstandard Algorithm, Lead
Zstandard is a lossless data compression algorithm developed by Yann Collet at Facebook.
View the Source
Prediction by partial matching (Wikipedia)
Includes: Prediction by Partial Matching Algorithm, Lead
Quote, Includes: Prediction by Partial Matching Algorithm, Lead
PPM algorithms can also be used to cluster data into predicted groupings in cluster analysis.
View the Source
Grey Wolf Optimization (Wikipedia)
Includes: Grey Wolf Optimizer, Lead
Quote, Includes: Grey Wolf Optimizer, Lead
Grey Wolf Optimization (GWO) is a nature-inspired metaheuristic algorithm that mimics the leadership hierarchy and hunting behavior of grey wolves in the wild.
View the Source
Eugene M. Luks (Wikipedia)
Includes: Eugene Luks, Lead
Quote, Includes: Eugene Luks, Lead
He is known for his research on the graph isomorphism problem and on algorithms for computational group theory.
View the Source
László Babai (Wikipedia)
Includes: László Babai, Lead
Quote, Includes: László Babai, Lead
His research focuses on computational complexity theory, algorithms, combinatorics, and finite groups, with an emphasis on the interactions between these fields.
View the Source
Noam Nisan (Wikipedia)
Includes: Noam Nisan, Lead
Quote, Includes: Noam Nisan, Lead
He is known for his research in computational complexity theory and algorithmic game theory.
View the Source
Leonid Khachiyan (Wikipedia)
Includes: Leonid Khachiyan, Lead
Quote, Includes: Leonid Khachiyan, Lead
He was most famous for his ellipsoid algorithm (1979) for linear programming, which was the first such algorithm known to have a polynomial running time.
View the Source
Esko Ukkonen (Wikipedia)
Includes: Esko Ukkonen, Lead
Quote, Includes: Esko Ukkonen, Lead
Esko Juhani Ukkonen (born 1950) is a Finnish theoretical computer scientist known for his contributions to string algorithms, and particularly for Ukkonen's algorithm for suffix tree construction.
View the Source
Wikipedia: Zvi Galil
Wikimedia FoundationIncludes: Zvi Galil, Lead
Quote, Includes: Zvi Galil, Lead
His research interests include the design and analysis of algorithms, computational complexity and cryptography.
View the Source
Johan Håstad (Wikipedia)
Includes: Johan Håstad, Lead
Quote, Includes: Johan Håstad, Lead
Johan Torkel Håstad (Swedish pronunciation: [ˈjûːan ˈhǒːsta]; born 19 November 1960) is a Swedish theoretical computer scientist most known for his work on computational complexity theory.
View the Source
Wikipedia: Mario Szegedy
Wikimedia FoundationIncludes: Mario Szegedy, Lead
Quote, Includes: Mario Szegedy, Lead
Szegedy's research areas include computational complexity theory, quantum computing, computational geometry, and computational theory.
View the Source
Ravindran Kannan (Wikipedia)
Includes: Ravi Kannan, Lead
Quote, Includes: Ravi Kannan, Lead
His work has mainly focused on efficient algorithms for problems of a mathematical (often geometric) flavor that arise in Computer Science, Machine Learning and Optimization.
View the Source
Mark N. Wegman (Wikipedia)
Includes: Mark N. Wegman, Lead
Quote, Includes: Mark N. Wegman, Lead
Mark N. Wegman is an American computer scientist known for his contributions to algorithms and compiler optimization.
View the Source
Open Questions (1 open question)
Does P equal NP?

The P versus NP problem is a major unsolved problem in theoretical computer science: it asks whether every decision problem whose proposed positive answer can be quickly verified can also be quickly solved. Stephen Cook introduced its precise statement in 1971, and despite half a century of effort nobody has proved the classes equal or unequal; it is one of the seven Millennium Prize Problems, with a one million dollar prize for the first correct solution.

What would resolve this A proof that every problem in NP admits a polynomial time algorithm, or a proof that some NP problem admits none. Either direction would be among the most consequential results in the history of mathematics and computing.
Computational complexity theory, MathematicsWikipedia: P versus NP Problem
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.