In graph theory, the singlesource shortest path problem is the problem of finding a path between two vertices such that the sum of the weights of its constituent edges is minimized. More formally, given a weighted graph (that is, a set V of vertices, a set E of edges, and a realvalued weight function f : E → R), and given further one element v of V, find a path P from v to each v' of V so that A labeled graph with 6 vertices and 7 edges. ...
In mathematics, a path in a graph is a sequence of vertices such that from each of its vertices there is an edge to the successor vertex. ...
In mathematics, the set of real numbers, denoted R, is the set of all rational numbers and irrational numbers. ...
is minimal among all paths connecting v to v' . The allpairs shortest path problem is a similar problem, in which we have to find such paths for every two vertices v to v' . A solution to the shortest path problem is sometimes called a pathing algorithm. The most important algorithms for solving this problem are:  Dijkstra's algorithm — solves single source problem if all edge weights are greater than or equal to zero. Without worsening the run time, this algorithm can in fact compute the shortest paths from a given start point s to all other nodes.
 BellmanFord algorithm — solves single source problem if edge weights may be negative.
 A* search algorithm solves for single source shortest paths using heuristics to try to speed up the search
 FloydWarshall algorithm — solves all pairs shortest paths.
 Johnson's algorithm — solves all pairs shortest paths, may be faster than FloydWarshall on sparse graphs.
 Perturbation theory; finds (at worst) the locally shortest path
A related problem is the traveling salesman problem, which is the problem of finding the shortest path that goes through every node exactly once, and returns to the start. That problem is NPComplete, so an efficient solution is not likely to exist. Dijkstras algorithm, named after its discoverer, Dutch computer scientist Edsger Dijkstra, is an algorithm that solves the singlesource shortest path problem for a directed graph with nonnegative edge weights. ...
The BellmanFord algorithm computes singlesource shortest paths in a weighted digraph (where some of the edge weights may be negative). ...
In computer science, A* (pronounced A star) is a graph search algorithm that finds a path from a given initial node to a given goal node (or one passing a given goal test). ...
In computer science, the FloydWarshall algorithm (sometimes known as the RoyFloyd algorithm or Warshalls algorithm) is an algorithm for solving the allpairs shortest path problem on weighted, directed graphs in cubic time. ...
Johnsons algorithm is a way to solve the all pairs shortest path problem in a sparse weighted, directed graph. ...
In the mathematical subfield of numerical analysis a sparse matrix is a matrix populated primarily with zeros. ...
Perturbation theory comprises mathematical methods that are used to find an approximate solution to a problem which cannot be solved exactly, by starting from the exact solution of a related problem. ...
The traveling salesman problem (TSP), is a problem in discrete or combinatorial optimization. ...
In complexity theory, the NPcomplete problems are the most difficult problems in NP, in the sense that they are the ones most likely not to be in P. The reason is that if you could find a way to solve an NPcomplete problem quickly, then you could use...
In a networking or telecommunications mindset, this shortest path problem is sometimes called the mindelay path problem and usually tied with a widest path problem. e.g.: Shortest (mindelay) widest path or Widest shortest (mindelay) path. Another application is the games of "six degrees of separation" that try to find the shortest path in graphs like movie stars appearing in the same film. For other uses, see Six Degrees (disambiguation). ...
[edit] References
[edit] Thomas H. Cormen is the coauthor of Introduction to Algorithms, along with Charles Leiserson, Ron Rivest, and Cliff Stein. ...
Charles Leiserson is a computer scientist, specializing in the theory of parallel computing and distributed computing, and particularly practical applications thereof; as part of this effort, he developed the Cilk multithreaded language. ...
Professor Ron Rivest Professor Ronald Linn Rivest (born 1947, Schenectady, New York) is a cryptographer, and is the Viterbi Professor of Computer Science at MITs Department of Electrical Engineering and Computer Science. ...
Clifford Stein is a computer scientist, currently working as a professor at Columbia University in New York, NY. He earned his BSE from Princeton University in 1987, a MS from Massachusetts Institute of Technology in 1989, and a PhD from Massachusetts Institute of Technology in 1992. ...
Introduction to Algorithms is a book by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. ...
External links  C code to find the shortest path through a concave polygon
 Six degrees of Wikipedia, a shortest path query solver for the English Wikipedia.
