Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
List of algorithms
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Graph algorithms=== {{further|Graph theory|:Category:Graph algorithms}} * [[Coloring algorithm]]: Graph coloring algorithm. * [[Hopcroft–Karp algorithm]]: convert a bipartite graph to a [[maximum cardinality matching]] * [[Hungarian algorithm]]: algorithm for finding a [[perfect matching]] * [[Prüfer sequence|Prüfer coding]]: conversion between a labeled tree and its [[Prüfer sequence]] * [[Tarjan's off-line lowest common ancestors algorithm]]: computes [[lowest common ancestor]]s for pairs of nodes in a tree * [[Topological sorting|Topological sort]]: finds linear order of nodes (e.g. jobs) based on their dependencies. ====Graph drawing==== {{further|Graph drawing}} * [[Force-based algorithms (graph drawing)|Force-based algorithms]] (also known as force-directed algorithms or spring-based algorithm) * [[Spectral layout]] ====Network theory==== {{further|Network theory}} * Network analysis ** Link analysis *** [[Girvan–Newman algorithm]]: detect communities in complex systems *** Web link analysis **** [[Hyperlink-Induced Topic Search]] (HITS) (also known as [[Hubs and authorities]]) **** [[PageRank]] **** [[TrustRank]] * [[Flow network]]s ** [[Dinic's algorithm]]: is a [[strongly polynomial]] algorithm for computing the [[maximum flow]] in a [[flow network]]. ** [[Edmonds–Karp algorithm]]: implementation of Ford–Fulkerson ** [[Ford–Fulkerson algorithm]]: computes the [[maximum flow problem|maximum flow]] in a graph ** [[Karger's algorithm]]: a Monte Carlo method to compute the [[minimum cut]] of a connected graph ** [[Push–relabel algorithm]]: computes a [[maximum flow problem|maximum flow]] in a graph ====Routing for graphs==== * [[Edmonds' algorithm]] (also known as Chu–Liu/Edmonds' algorithm): find maximum or minimum branchings * [[Euclidean minimum spanning tree]]: algorithms for computing the minimum spanning tree of a set of points in the plane * [[Longest path problem]]: find a simple path of maximum length in a given graph * [[Minimum spanning tree]] ** [[Borůvka's algorithm]] ** [[Kruskal's algorithm]] ** [[Prim's algorithm]] ** [[Reverse-delete algorithm]] * [[Nonblocking minimal spanning switch]] say, for a [[telephone exchange]] * [[Vehicle routing problem]] ** Clarke and Wright Saving algorithm * [[Shortest path problem]] ** [[Bellman–Ford algorithm]]: computes [[shortest path problem|shortest paths]] in a weighted graph (where some of the edge weights may be negative) ** [[Dijkstra's algorithm]]: computes [[shortest path problem|shortest paths]] in a graph with non-negative edge weights ** [[Floyd–Warshall algorithm]]: solves the [[shortest path problem#All-pairs shortest paths|all pairs shortest path]] problem in a weighted, directed graph ** [[Johnson's algorithm]]: all pairs shortest path algorithm in sparse weighted directed graph <!-- ** [[Perturbation methods]]: an algorithm that computes a locally [[shortest path problem|shortest paths]] in a graph --> * [[Transitive closure]] problem: find the [[transitive closure]] of a given binary relation * [[Traveling salesman problem]] ** [[Christofides algorithm]] ** [[Nearest neighbour algorithm]] * [[Warnsdorff's rule]]: a heuristic method for solving the [[Knight's tour]] problem ====Graph search==== {{further|State space search|Graph search algorithm}} * [[A* search algorithm|A*]]: special case of best-first search that uses heuristics to improve speed * [[B*]]: a best-first graph search algorithm that finds the least-cost path from a given initial node to any goal node (out of one or more possible goals) * [[Backtracking]]: abandons partial solutions when they are found not to satisfy a complete solution * [[Beam search]]: is a heuristic search algorithm that is an optimization of [[best-first search]] that reduces its memory requirement * [[Beam stack search]]: integrates backtracking with [[beam search]] * [[Best-first search]]: traverses a graph in the order of likely importance using a [[priority queue]] * [[Bidirectional search]]: find the shortest path from an initial vertex to a goal vertex in a directed graph * [[Breadth-first search]]: traverses a graph level by level * [[Brute-force search]]: an exhaustive and reliable search method, but computationally inefficient in many applications * [[D*]]: an [[incremental heuristic search]] algorithm * [[Depth-first search]]: traverses a graph branch by branch * [[Dijkstra's algorithm]]: a special case of A* for which no heuristic function is used * [[General Problem Solver]]: a seminal theorem-proving algorithm intended to work as a universal problem solver machine. * [[Iterative deepening depth-first search]] (IDDFS): a state space search strategy * [[Jump point search]]: an optimization to A* which may reduce computation time by an order of magnitude using further heuristics * [[Lexicographic breadth-first search]] (also known as Lex-BFS): a linear time algorithm for ordering the vertices of a graph * [[Uniform-cost search]]: a [[Tree traversal|tree search]] that finds the lowest-cost route where costs vary * [[SSS*]]: state space search traversing a game tree in a best-first fashion similar to that of the A* search algorithm ====Subgraphs==== * [[Clique (graph theory)|Cliques]] ** [[Bron–Kerbosch algorithm]]: a technique for finding [[maximal clique]]s in an undirected graph ** [[MaxCliqueDyn maximum clique algorithm]]: find a [[maximum clique]] in an undirected graph * [[Strongly connected components]] ** [[Path-based strong component algorithm]] ** [[Kosaraju's algorithm]] ** [[Tarjan's strongly connected components algorithm]] * [[Subgraph isomorphism problem]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)