Graph algorithms
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.
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.
AF-heap
In computer science, the AF-heap is a form of the Fibonacci heap, an extension of the fusion tree using an atomic heap.
In computer science, the AF-heap is a form of the Fibonacci heap, an extension of the fusion tree using an atomic heap.
Algorithmic version for Szemerédi regularity partition
A Simple Algorithm for Constructing Szemerédi's Regularity Partition is a paper by Alan M. Frieze and Ravi Kannan giving an algorithmic version of the Szemerédi regularity lemma to find an &epsi...
A Simple Algorithm for Constructing Szemerédi's Regularity Partition is a paper by Alan M. Frieze and Ravi Kannan giving an algorithmic version of the Szemerédi regularity lemma to find an &epsi...
Alpha-beta pruning
Alpha-beta pruning is a search algorithm which seeks to increase the number of nodes that are evaluated by the minimax algorithm in its search tree.
Alpha-beta pruning is a search algorithm which seeks to increase the number of nodes that are evaluated by the minimax algorithm in its search tree.
Aperiodic graph
In the mathematical area of graph theory, a directed graph is said to be aperiodic if there is no integer k > 1 that divides the length of every cycle of the graph.
In the mathematical area of graph theory, a directed graph is said to be aperiodic if there is no integer k > 1 that divides the length of every cycle of the graph.
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.
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.
Barabási-Albert model
The Barabási–Albert (BA) model is an algorithm for generating random scale-free networks using a preferential attachment mechanism.
The Barabási–Albert (BA) model is an algorithm for generating random scale-free networks using a preferential attachment mechanism.
Barabási–Albert model
The Barabási–Albert (BA) model is an algorithm for generating random scale-free networks using a preferential attachment mechanism.
The Barabási–Albert (BA) model is an algorithm for generating random scale-free networks using a preferential attachment mechanism.
Belief propagation
Belief propagation is a message passing algorithm for performing inference on graphical models, such as Bayesian networks and Markov random fields.
Belief propagation is a message passing algorithm for performing inference on graphical models, such as Bayesian networks and Markov random fields.
Bellman-Ford algorithm
The Bellman–Ford algorithm computes single-source shortest paths in a weighted digraph.
The Bellman–Ford algorithm computes single-source shortest paths in a weighted digraph.
Bellman–Ford algorithm
The Bellman–Ford algorithm computes single-source shortest paths in a weighted digraph.
The Bellman–Ford algorithm computes single-source shortest paths in a weighted digraph.
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.
Bidirectional search is a graph search algorithm that finds a shortest path from an initial vertex to a goal vertex in a directed graph.
Borůvka's algorithm
Borůvka's algorithm is an algorithm for finding a minimum spanning tree in a graph for which all edge weights are distinct.
Borůvka's algorithm is an algorithm for finding a minimum spanning tree in a graph for which all edge weights are distinct.
Bottleneck traveling salesman problem
The Bottleneck traveling salesman problem (bottleneck TSP) is a problem in discrete or combinatorial optimization.
The Bottleneck traveling salesman problem (bottleneck TSP) is a problem in discrete or combinatorial optimization.
Breadth-first search
In graph theory, breadth-first search (BFS) is a graph search algorithm that begins at the root node and explores all the neighboring nodes.
In graph theory, breadth-first search (BFS) is a graph search algorithm that begins at the root node and explores all the neighboring nodes.
Bron-Kerbosch algorithm
In computer science, the Bron–Kerbosch algorithm is an algorithm for finding maximal cliques in an undirected graph.
In computer science, the Bron–Kerbosch algorithm is an algorithm for finding maximal cliques in an undirected graph.
Bron–Kerbosch algorithm
In computer science, the Bron–Kerbosch algorithm is an algorithm for finding maximal cliques in an undirected graph.
In computer science, the Bron–Kerbosch algorithm is an algorithm for finding maximal cliques in an undirected graph.
Chaitin's algorithm
Chaitin's algorithm is a bottom-up, graph coloring register allocation algorithm that uses cost/degree as its spill metric.
Chaitin's algorithm is a bottom-up, graph coloring register allocation algorithm that uses cost/degree as its spill metric.
Cheriyan–Mehlhorn/Gabow algorithm
In graph theory, the Cheriyan–Mehlhorn/Gabow algorithm is a linear-time method for finding the strongly connected components of a directed graph.
In graph theory, the Cheriyan–Mehlhorn/Gabow algorithm is a linear-time method for finding the strongly connected components of a directed graph.
Christofides algorithm
The goal of the Christofides heuristic algorithm is to find a solution to the instances of the traveling salesman problem where the edge weights satisfy the triangle inequality.
The goal of the Christofides heuristic algorithm is to find a solution to the instances of the traveling salesman problem where the edge weights satisfy the triangle inequality.
Clique percolation method
The clique percolation method is a popular approach for analyzing the overlapping community structure of networks.
The clique percolation method is a popular approach for analyzing the overlapping community structure of networks.
Closure problem
A Closure problem is a problem in graph theory for finding a set of vertices in a directed graph such that there are no edges from the set to the rest of the graph.
A Closure problem is a problem in graph theory for finding a set of vertices in a directed graph such that there are no edges from the set to the rest of the graph.
Color-coding
In computer science and graph theory, the method of color-coding efficiently finds k-vertex simple paths, k-vertex cycles, and other small subgraphs within a given graph using probabilis...
In computer science and graph theory, the method of color-coding efficiently finds k-vertex simple paths, k-vertex cycles, and other small subgraphs within a given graph using probabilis...
Contraction hierarchies
In applied mathematics, the method of contraction hierarchies is a technique to simplify shortest-path routing by first creating precomputed "contracted" versions of the connection graph.
In applied mathematics, the method of contraction hierarchies is a technique to simplify shortest-path routing by first creating precomputed "contracted" versions of the connection graph.
Cuthill-McKee algorithm
In the mathematical subfield of matrix theory the Cuthill–McKee algorithm is an algorithm to reduce the bandwidth of sparse symmetric matrices.
In the mathematical subfield of matrix theory the Cuthill–McKee algorithm is an algorithm to reduce the bandwidth of sparse symmetric matrices.
Cuthill–McKee algorithm
In the mathematical subfield of matrix theory the Cuthill–McKee algorithm is an algorithm to reduce the bandwidth of sparse symmetric matrices.
In the mathematical subfield of matrix theory the Cuthill–McKee algorithm is an algorithm to reduce the bandwidth of sparse symmetric matrices.
Depth-first search
Depth-first search (DFS) is an algorithm for traversing or searching a tree, tree structure, or graph.
Depth-first search (DFS) 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.
In computer science depth-limited search is an algorithm to explore the vertices of a graph.
Dijkstra's algorithm
Dijkstra's algorithm, conceived by Dutch computer scientist Edsger Dijkstra in 1956 and published in 1959, is a graph search algorithm that solves the single-source shortest path problem for a g...
Dijkstra's algorithm, conceived by Dutch computer scientist Edsger Dijkstra in 1956 and published in 1959, is a graph search algorithm that solves the single-source shortest path problem for a g...
Dijkstra-Scholten algorithm
The Dijkstra–Scholten algorithm (named after Edsger W. Dijkstra and C. S. Scholten) is an algorithm for detecting termination in a distributed system.
The Dijkstra–Scholten algorithm (named after Edsger W. Dijkstra and C. S. Scholten) is an algorithm for detecting termination in a distributed system.
Dinic's algorithm
Dinic'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.
Dinic'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.
Dulmage–Mendelsohn decomposition
In graph theory, the Dulmage–Mendelsohn decomposition is a method used to create a maximal matching on a bipartite graph.
In graph theory, the Dulmage–Mendelsohn decomposition is a method used to create a maximal matching on a bipartite graph.
Edmonds' algorithm
In graph theory, a branch of mathematics, Edmonds' algorithm or Chu–Liu/Edmonds' algorithm is an algorithm for finding a maximum or minimum optimum branchings.
In graph theory, a branch of mathematics, Edmonds' algorithm or Chu–Liu/Edmonds' algorithm is an algorithm for finding a maximum or minimum optimum branchings.
Edmonds's matching algorithm
Edmonds's matching algorithm is an algorithm in graph theory for constructing maximum matchings on graphs discovered by Jack Edmonds.
Edmonds's matching algorithm is an algorithm in graph theory for constructing maximum matchings on graphs discovered by Jack Edmonds.
Edmonds-Karp algorithm
In computer science and graph theory, the Edmonds–Karp algorithm is an implementation of the Ford–Fulkerson method for computing the maximum flow in a flow network in O time.
In computer science and graph theory, the Edmonds–Karp algorithm is an implementation of the Ford–Fulkerson method for computing the maximum flow in a flow network in O time.
Euler tour technique
The Euler tour technique (ETT), named after Leonhard Euler, is a method in graph theory for representing trees.
The Euler tour technique (ETT), named after Leonhard Euler, is a method in graph theory for representing trees.
FKT algorithm
The FKT algorithm, named after Fisher, Kasteleyn, and Temperley, counts the number of perfect matchings in a planar graph in polynomial time.
The FKT algorithm, named after Fisher, Kasteleyn, and Temperley, counts the number of perfect matchings in a planar graph in polynomial time.
Flooding algorithm
A flooding algorithm is an algorithm for distributing material to every part of a connected network.
A flooding algorithm is an algorithm for distributing material to every part of a connected network.
Flow network
In graph theory, a flow network is a directed graph where each edge has a capacity and each edge receives a flow.
In graph theory, a flow network is a directed graph where each edge has a capacity and each edge receives a flow.
Floyd-Warshall algorithm
In computer science, the Floyd–Warshall algorithm (also known as Floyd's algorithm, Roy–Warshall algorithm, Roy–Floyd algorithm, or the WFI algorithm) is a graph analysis...
In computer science, the Floyd–Warshall algorithm (also known as Floyd's algorithm, Roy–Warshall algorithm, Roy–Floyd algorithm, or the WFI algorithm) is a graph analysis...
Floyd–Warshall algorithm
In computer science, the Floyd–Warshall algorithm (also known as Floyd's algorithm, Roy–Warshall algorithm, Roy–Floyd algorithm, or the WFI algorithm) is a graph analysis...
In computer science, the Floyd–Warshall algorithm (also known as Floyd's algorithm, Roy–Warshall algorithm, Roy–Floyd algorithm, or the WFI algorithm) is a graph analysis...
Force-based algorithms (graph drawing)
Force-based or force-directed algorithms are a class of algorithms for drawing graphs in an aesthetically pleasing way.
Force-based or force-directed algorithms are a class of algorithms for drawing graphs in an aesthetically pleasing way.
Ford-Fulkerson algorithm
The Ford–Fulkerson algorithm (named for L. R. Ford, Jr. and D. R. Fulkerson) computes the maximum flow in a flow network.
The Ford–Fulkerson algorithm (named for L. R. Ford, Jr. and D. R. Fulkerson) computes the maximum flow in a flow network.
Ford–Fulkerson algorithm
The Ford–Fulkerson algorithm (named for L. R. Ford, Jr. and D. R. Fulkerson) computes the maximum flow in a flow network.
The Ford–Fulkerson algorithm (named for L. R. Ford, Jr. and D. R. Fulkerson) computes the maximum flow in a flow network.
Fringe search
In computer science, fringe search is a recent graph search algorithm that finds the least-cost path from a given initial node to one goal node.
In computer science, fringe search is a recent graph search algorithm that finds the least-cost path from a given initial node to one goal node.
Girvan-Newman algorithm
The Girvan–Newman algorithm is one of the methods used to detect communities in complex systems.
The Girvan–Newman algorithm is one of the methods used to detect communities in complex systems.
Girvan–Newman algorithm
The Girvan–Newman algorithm is one of the methods used to detect communities in complex systems.
The Girvan–Newman algorithm is one of the methods used to detect communities in complex systems.
Goal node (computer science)
In computer science, a goal node is a node in a graph that meets defined criteria for success or termination.
In computer science, a goal node is a node in a graph that meets defined criteria for success or termination.
Gomory-Hu tree
In combinatorial optimization, the Gomory–Hu tree of an undirected graph with capacities is a weighted tree that consists of edges representing all pairs minimum s-t cut in the graph.
In combinatorial optimization, the Gomory–Hu tree of an undirected graph with capacities is a weighted tree that consists of edges representing all pairs minimum s-t cut in the graph.
Gomory–Hu tree
In combinatorial optimization, the Gomory–Hu tree of an undirected graph with capacities is a weighted tree that consists of edges representing all pairs minimum s-t cut in the graph.
In combinatorial optimization, the Gomory–Hu tree of an undirected graph with capacities is a weighted tree that consists of edges representing all pairs minimum s-t cut in the graph.
Grafting (algorithm)
In computer science, grafting is a method used to manipulate trees.
In computer science, grafting is a method used to manipulate trees.
Graph bandwidth
In graph theory, the graph bandwidth problem is stated as follows.
In graph theory, the graph bandwidth problem is stated as follows.
Graph isomorphism problem
The graph isomorphism problem is the computational problem of determining whether two finite graphs are isomorphic.
The graph isomorphism problem is the computational problem of determining whether two finite graphs are isomorphic.
Graph reduction
In computer science, graph reduction implements an efficient version of non-strict evaluation, an evaluation strategy where the arguments to a function are not immediately evaluated.
In computer science, graph reduction implements an efficient version of non-strict evaluation, an evaluation strategy where the arguments to a function are not immediately evaluated.
Graph rewriting
Graph transformation, or Graph rewriting, concerns the technique of creating a new graph out of an original graph using some automatic machine.
Graph transformation, or Graph rewriting, concerns the technique of creating a new graph out of an original graph using some automatic machine.
Graph traversal
Graph traversal refers to the problem of visiting all the nodes in a graph in a particular manner.
Graph traversal refers to the problem of visiting all the nodes in a graph in a particular manner.
Hopcroft-Karp algorithm
In computer science, the Hopcroft–Karp algorithm is an algorithm that takes as input a bipartite graph and produces as output a maximum cardinality matching – a set of as many edges as possible ...
In computer science, the Hopcroft–Karp algorithm is an algorithm that takes as input a bipartite graph and produces as output a maximum cardinality matching – a set of as many edges as possible ...
Hopcroft–Karp algorithm
In computer science, the Hopcroft–Karp algorithm is an algorithm that takes as input a bipartite graph and produces as output a maximum cardinality matching – a set of as many edges as possible ...
In computer science, the Hopcroft–Karp algorithm is an algorithm that takes as input a bipartite graph and produces as output a maximum cardinality matching – a set of as many edges as possible ...
IDA*
IDA* is a variant of the A* search algorithm which uses iterative deepening to keep the memory usage lower than in A*.
IDA* is a variant of the A* search algorithm which uses iterative deepening to keep the memory usage lower than in A*.
Johnson's algorithm
Johnson's algorithm is a way to find the shortest paths between all pairs of vertices in a sparse directed graph.
Johnson's algorithm is a way to find the shortest paths between all pairs of vertices in a sparse directed graph.
Journal of Graph Algorithms and Applications
The Journal of Graph Algorithms and Applications is an open access electronically published academic journal devoted to the subject of graph algorithms and graph drawing.
The Journal of Graph Algorithms and Applications is an open access electronically published academic journal devoted to the subject of graph algorithms and graph drawing.
Junction tree algorithm
The junction tree algorithm is a method used in machine learning for exact marginalization in general graphs.
The junction tree algorithm is a method used in machine learning for exact marginalization in general graphs.
Karger's algorithm
In computer science and graph theory, the Karger's algorithm is a Monte Carlo method to compute the minimum cut of a connected graph developed by David Karger.
In computer science and graph theory, the Karger's algorithm is a Monte Carlo method to compute the minimum cut of a connected graph developed by David Karger.
Kosaraju's algorithm
In computer science, Kosaraju-Sharir algorithm is an algorithm to find the strongly connected components of a directed graph.
In computer science, Kosaraju-Sharir algorithm is an algorithm to find the strongly connected components of a directed graph.
Kruskal's algorithm
Kruskal's algorithm is an algorithm in graph theory that finds a minimum spanning tree for a connected weighted graph.
Kruskal's algorithm is an algorithm in graph theory that finds a minimum spanning tree for a connected weighted graph.
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...
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...
Longest path problem
In the mathematical discipline of graph theory, the longest path problem is the problem of finding a simple path of maximum length in a given graph.
In the mathematical discipline of graph theory, the longest path problem is the problem of finding a simple path of maximum length in a given graph.
Minimax
Minimax (sometimes minmax) is a decision rule used in decision theory, game theory, statistics and philosophy for minimizing the possible loss while maximizing the potential gain.
Minimax (sometimes minmax) is a decision rule used in decision theory, game theory, statistics and philosophy for minimizing the possible loss while maximizing the potential gain.
Minimum cut
In graph theory, a minimum cut of a graph is a cut whose cutset has the smallest number of elements (unweighted case) or smallest sum of weights possible.
In graph theory, a minimum cut of a graph is a cut whose cutset has the smallest number of elements (unweighted case) or smallest sum of weights possible.
Nearest neighbour algorithm
The nearest neighbour algorithm was one of the first algorithms used to determine a solution to the travelling salesman problem.
The nearest neighbour algorithm was one of the first algorithms used to determine a solution to the travelling salesman problem.
Nonblocking minimal spanning switch
A nonblocking minimal spanning switch is a device that can connect N inputs to N outputs in any combination.
A nonblocking minimal spanning switch is a device that can connect N inputs to N outputs in any combination.
Planarity testing
In graph theory, the planarity testing problem asks whether, given a graph, that graph is a planar graph (can be drawn in the plane without edge intersections).
In graph theory, the planarity testing problem asks whether, given a graph, that graph is a planar graph (can be drawn in the plane without edge intersections).
Prim's algorithm
In computer science, Prim's algorithm is a greedy algorithm that finds a minimum spanning tree for a connected weighted undirected graph.
In computer science, Prim's algorithm is a greedy algorithm that finds a minimum spanning tree for a connected weighted undirected graph.
Proof-number search
Proof-number search (short: PN search) is a game tree search algorithm invented by Victor Allis, with applications mostly in endgame solvers, but also for sub-goals during games.
Proof-number search (short: PN search) is a game tree search algorithm invented by Victor Allis, with applications mostly in endgame solvers, but also for sub-goals during games.
Push-relabel maximum flow algorithm
The push-relabel algorithm is one of the most efficient algorithms to compute a maximum flow.
The push-relabel algorithm is one of the most efficient algorithms to compute a maximum flow.
Reverse-delete algorithm
The reverse-delete algorithm is an algorithm in graph theory used to obtain a minimum spanning tree from a given connected, edge-weighed graph.
The reverse-delete algorithm is an algorithm in graph theory used to obtain a minimum spanning tree from a given connected, edge-weighed graph.
Sethi–Ullman algorithm
In computer science, the Sethi–Ullman algorithm is an algorithm named after Ravi Sethi and Jeffrey D. Ullman, its inventors, for translating abstract syntax trees into machine code that uses as ...
In computer science, the Sethi–Ullman algorithm is an algorithm named after Ravi Sethi and Jeffrey D. Ullman, its inventors, for translating abstract syntax trees into machine code that uses as ...
Shortest path problem
In graph theory, the shortest path problem is the problem of finding a path between two vertices (or nodes) in a graph such that the sum of the weights of its constituent edges is minimized.
In graph theory, the shortest path problem is the problem of finding a path between two vertices (or nodes) in a graph such that the sum of the weights of its constituent edges is minimized.
Spectral layout
Spectral layout is a class of algorithm for drawing graphs.
Spectral layout is a class of algorithm for drawing graphs.
Strongly connected component
The strongly connected components of a directed graph G are its maximal strongly connected subgraphs.
The strongly connected components of a directed graph G are its maximal strongly connected subgraphs.
Subgraph isomorphism problem
In theoretical computer science, the subgraph isomorphism problem is a computational task in which two graphs G and H are given as input, and one must determine whether G contains a ...
In theoretical computer science, the subgraph isomorphism problem is a computational task in which two graphs G and H are given as input, and one must determine whether G contains a ...
Suurballe's algorithm
In theoretical computer science and network routing, Suurballe's algorithm is an algorithm for finding two disjoint paths in a nonnegatively-weighted directed graph, so that both paths connect t...
In theoretical computer science and network routing, Suurballe's algorithm is an algorithm for finding two disjoint paths in a nonnegatively-weighted directed graph, so that both paths connect t...
Tarjan's off-line least common ancestors algorithm
In computer science, Tarjan's off-line least common ancestors algorithm (more precisely, least should actually be lowest) is an algorithm for computing lowest common ancestors for pa...
In computer science, Tarjan's off-line least common ancestors algorithm (more precisely, least should actually be lowest) is an algorithm for computing lowest common ancestors for pa...
Tarjan's strongly connected components algorithm
Tarjan's Algorithm (named for its discoverer, Robert Tarjan) is a graph theory algorithm for finding the strongly connected components of a graph.
Tarjan's Algorithm (named for its discoverer, Robert Tarjan) is a graph theory algorithm for finding the strongly connected components of a graph.
Topological sorting
In computer science, a topological sort or topological ordering of a directed graph is a linear oiazdjfgjdfkgj dljg' eojg jeejg'ewj of its vertices such that, for every edge uv, u ...
In computer science, a topological sort or topological ordering of a directed graph is a linear oiazdjfgjdfkgj dljg' eojg jeejg'ewj of its vertices such that, for every edge uv, u ...
Travelling salesman problem
The travelling salesman problem is an NP-hard problem in combinatorial optimization studied in operations research and theoretical computer science.
The travelling salesman problem is an NP-hard problem in combinatorial optimization studied in operations research and theoretical computer science.
Tree traversal
In computer science, tree-traversal refers to the process of visiting each node in a tree data structure, exactly once, in a systematic way.
In computer science, tree-traversal refers to the process of visiting each node in a tree data structure, exactly once, in a systematic way.
Uniform-cost search
In computer science, uniform-cost search (UCS) is a tree search algorithm used for traversing or searching a weighted tree, tree structure, or graph.
In computer science, uniform-cost search (UCS) is a tree search algorithm used for traversing or searching a weighted tree, tree structure, or graph.
Widest path problem
In graph algorithms, the widest path problem, also known as the bottleneck shortest path problem or the maximum capacity path problem, is the problem of finding a path between two de...
In graph algorithms, the widest path problem, also known as the bottleneck shortest path problem or the maximum capacity path problem, is the problem of finding a path between two de...
William Lawrence Kocay
William Lawrence Kocay is a Canadian professor at the department of computer science at St. Paul's College of the University of Manitoba and a graph theorist.
William Lawrence Kocay is a Canadian professor at the department of computer science at St. Paul's College of the University of Manitoba and a graph theorist.
Settings