A* search algorithm - In computer science, A* is a computer algorithm that is widely used in pathfinding and graph traversal, the process of plotting an efficiently traversable path between points, called nodes.
Aho–Corasick string matching algorithm - The Aho–Corasick string matching algorithm is a string searching algorithm invented by Alfred V. Aho and Margaret J. Corasick.
All nearest smaller values - In computer science, the all nearest smaller values problem involves computing, for each value in a sequence of numbers, the previous smaller value that has the closest position in the sequence ...
Alpha-beta pruning - Alpha-beta pruning is a search algorithm which seeks to reduce the number of nodes that are evaluated by the minimax algorithm in its search tree.
Amplitude amplification - Amplitude amplification is a technique in quantum computing which generalizes the idea behind the Grover's search algorithm, and gives rise to a family of quantum algorithms.
B* - In computer science, B* is a best-first graph search algorithm that finds the least-cost path from a given initial node to any goal node.
Backjumping - In backtracking algorithms, backjumping is a technique that reduces search space, therefore increasing efficiency.
Backtracking - Backtracking is a general algorithm for finding all solutions to some computational problem, that incrementally builds candidates to the solutions, and abandons each partial candidate c as ...
Beam search - Beam search is a heuristic search algorithm that is an optimization of best-first search that reduces its memory requirement.
Beam stack search - Beam Stack Search is a search algorithm that combines chronological backtracking with beam search and is similar to Depth-First Beam Search.
Best Bin First - Best Bin First is a search algorithm which is designed to efficiently find an approximate solution to the Nearest Neighbor Search Problem in very high dimensional spaces.
Best-first search - Best-first search is a search algorithm which explores a graph by expanding the most promising node chosen according to a specified rules.
Bidirectional search - Bidirectional search is a graph search algorithm that finds a shortest path from an initial vertex to a goal vertex in a directed graph.
Binary search algorithm - In computer science, a binary search is an algorithm for locating the position of an item in a sorted array.
Bitap algorithm - The bitap algorithm is an approximate string matching algorithm.
Boyer–Moore string search algorithm - The Boyer–Moore string search algorithm is a particularly efficient string searching algorithm, and it has been the standard benchmark for the practical string search literature.
Boyer–Moore–Horspool algorithm - In computer science, the Boyer–Moore–Horspool algorithm or Horspool's algorithm is an algorithm for finding substrings in strings.
Breadth-first search - In graph theory, breadth-first search is a graph search algorithm that begins at the root node and explores all the neighboring nodes.
Brute-force search - In computer science, brute-force search or exhaustive search, also known as generate and test, is a trivial but very general problem-solving technique that consists of systematically...
Dancing Links - In computer science, Dancing Links, also known as DLX, is the technique suggested by Donald Knuth to efficiently implement his Algorithm X. Algorithm X is a recursive, nondeterministic, de...
Deducting Search Algorithm - The Deducting Search Algorithm, also known as the Holmes Engine after the author Sir Arthur Conan Doyle’s famous sleuth, is a mathematical formula that interprets the choices made by the s...
Depth-first search - Depth-first search is an algorithm for traversing or searching a tree, tree structure, or graph.
Depth-limited search - In computer science depth-limited search is an algorithm to explore the vertices of a graph.
Dichotomic search - In computer science, a dichotomic search is a search algorithm that operates by selecting between two distinct alternatives at each step.
Difference map algorithm - The difference map algorithm is a search algorithm for general constraint satisfaction problems.
Dijkstra's algorithm - Dijkstra's algorithm, conceived by Dutch computer scientist Edsger Dijkstra in 1959, is a graph search algorithm that solves the single-source shortest path problem for a graph with nonnegative ...
Double hashing - Double hashing is a computer programming technique used in hash tables to resolve hash collisions, cases when two different values to be searched for produce the same hash key.
DSW algorithm - The DSW algorithm, or in full Day/Stout/Warren algorithm, is a method for efficiently balancing binary search trees — that is, decreasing their height to O nodes, where n is the ...
Expectiminimax tree - An expectiminimax tree is a specialized variation of a minimax game tree for use in artificial intelligence systems that play two-player zero-sum games such as backgammon, in which the outcome d...
Extendible hashing - Extendible hashing is a type of hash system which treats a hash as a bit string, and uses a trie for bucket lookup.
Fibonacci search technique - The 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.
Fractional cascading - In computer science, fractional cascading is a technique to speed up a sequence of binary searches for the same value in a sequence of related data structures.
Genetic algorithm - The genetic algorithm is a search heuristic that mimics the process of natural evolution.
Geometric hashing - In computer science, geometric hashing is a method for efficiently finding two-dimensional objects represented by discrete points that have undergone an affine transformation.
God's algorithm - God's algorithm is a notion originating in discussions of ways to solve the Rubik's Cube puzzle, but which can also be applied to other combinatorial puzzles and mathematical games.
Graphplan - Graphplan is an algorithm for automated planning developed by Avrim Blum and Merrick Furst in 1995.
Grover's algorithm - Grover's algorithm is a quantum algorithm for searching an unsorted database with N entries in O time and using O storage space.
Hash function - A hash function is any well-defined procedure or mathematical function that converts a large, possibly variable-sized amount of data into a small datum, usually a single integer that may serve a...
Hash table - In computer science, a hash table or hash map is a data structure that uses a hash function to map identifying values, known as keys to their associated values.
Hill climbing - In computer science, hill climbing is a mathematical optimization technique which belongs to the family of local search.
Hopscotch hashing - Hopscotch hashing is a scheme in computer programming for resolving hash collisions of values of hash functions in a table using open addressing.
Index mapping - Index mapping is a computer science term that is used to describe the mapping of raw data, used directly as in array index, for an array.
Interpolation search - Interpolation search is an algorithm for searching for a given key value in an indexed array that has been ordered by the values of the key.
Inverted index - In computer science, an inverted index is an index data structure storing a mapping from content, such as words or numbers, to its locations in a database file, or in a document or a set of docu...
k-nearest neighbor algorithm - In pattern recognition, the k-nearest neighbours algorithm is a method for classifying objects based on closest training examples in the feature space.
Knuth's Algorithm X - Donald Knuth's Algorithm X is a recursive, nondeterministic, depth-first, backtracking algorithm that finds all solutions to the exact cover problem represented by a matrix A consisting of 0...
Knuth–Morris–Pratt algorithm - The Knuth–Morris–Pratt string searching algorithm searches for occurrences of a "word" W within a main "text string" S by employing the observation that when a mismatch occurs, the word itself e...
Late Move Reductions - Late Move Reductions is a non-game specific enhancement to the alpha-beta algorithm and its variants which attempts to examine a game search tree more efficiently.
Lexicographic breadth-first search - In computer science, lexicographic breadth-first search or Lex-BFS is a linear time algorithm for ordering the vertices of a graph, that is used as part of other graph algorithms such as the rec...
Linear hashing - Linear hashing is a dynamic hash table algorithm invented by Witold Litwin, and later popularized by Paul Larson.
Linear search - In computer science, linear search or sequential search is a method for finding a particular value in a list, that consists of checking every one of its elements, one at a time and in sequ...
Locality sensitive hashing - Locality Sensitive Hashing is a method of performing probabilistic dimension reduction of high-dimensional data.
Look-ahead (backtracking) - In backtracking algorithms, look ahead is the generic term for a subprocedure that attempts to foresee the effects of choosing a branching variable to evaluate or one of its values.
MaMF - MaMF, or Mammalian Motif Finder, is an algorithm for identifying motifs to which transcription factors bind.
Minimax - Minimax is a decision rule used in decision theory, game theory, statistics and philosophy for minimizing the possible loss while maximizing the potential gain.
MTD-f - MTD, an abbreviation of MTD is a minimax search algorithm, an alternative to the alpha-beta pruning algorithm.
Nearest neighbor search - Nearest neighbor search, also known as proximity search, similarity search or closest point search, is an optimization problem for finding closest points in metric spaces.
Null-move heuristic - In computer chess programs, the null-move heuristic is a heuristic technique used to enhance the speed of the alpha-beta pruning algorithm.
Perfect hash function - A perfect hash function for a set S is a hash function that maps distinct elements in S to distinct integers, with no collisions.
Phrase search - Phrase Search is a type of full text search that matches only those documents that contain a specified phrase, such as "Wikipedia, the free encyclopedia.
Proof-number search - Proof-number search is a game tree search algorithm invented by Victor Allis, with applications mostly in endgame solvers, but also for sub-goals during games.
Rabin–Karp string search algorithm - The Rabin–Karp algorithm is a string searching algorithm created by Michael O. Rabin and Richard M. Karp in 1987 that uses hashing to find any one of a set of pattern strings in a text.
Rainbow table - A rainbow table is a lookup table offering a time-memory tradeoff used in recovering the plaintext password from a password hash generated by a hash function, often a cryptographic hash function.
Rapidly-exploring dense trees - Rapidly-exploring Dense Trees is a family of planning algorithms that includes Rapidly-exploring_random_tree.
Rapidly-exploring random tree - A Rapidly-exploring Random Tree is a data structure and algorithm designed for efficiently searching nonconvex, high-dimensional search spaces.
Search algorithm - In computer science, a search algorithm, broadly speaking, is an algorithm for finding an item with specified properties among a collection of items.
Search games - A search game is a two-person zero-sum game which takes place in a set called the search space.
SMA* - The Simplified Memory-Bounded Algorithm is a variant of A* search which is memory-bounded.
Spreading activation - Spreading activation is a method for searching associative networks, neural networks, or semantic networks.
SSS* - SSS* is a search algorithm, introduced by George Stockman in 1979, that conducts a state space search traversing a game tree in a best-first fashion similar to that of the A* search algorithm.
Stack search - Stack search is a search algorithm similar to beam search.
State space search - State space search is a process used in the field of artificial intelligence in which successive configurations or states of an instance are considered, with the goal of finding a goal sta...
String searching algorithm - String searching algorithms, sometimes called string matching algorithms, are an important class of string algorithms that try to find a place where one or several strings are found within...
Ternary search - A ternary search algorithm is a technique in computer science for finding the minimum or maximum of a unimodal function.
Ternary search tree - In computer science, a ternary search tree is a ternary tree data structure of strings which combines the speed of a prefix search tree, or trie, with the space efficiency of a binary search tree.
Trigram search - Trigram search is a powerful method of searching for text when the exact syntax or spelling of the target object is not precisely known.
Uniform binary search - Uniform binary search is an optimization of the classic binary search algorithm invented by Donald Knuth and given in Knuth's The Art of Computer Programming.
Uniform-cost search - In computer science, uniform-cost search is a tree search algorithm used for traversing or searching a weighted tree, tree structure, or graph.
Universal hashing - Universal hashing is a randomized algorithm for selecting a hash function F with the following property: for any two distinct inputs x and y, the probability that F=F is the same...
UUHash - UUHash is a hash algorithm employed by clients on the FastTrack network.
Variation (game tree) - A Variation can refer to a specific sequence of successive moves in a turn-based game, often used to specify a hypothetical future state of a game that is being played.