A JavaScript implementation of Dijkstra's algorithm
JavaScript HTML
Latest commit 94d6246 Oct 16, 2015 @andrewhayward Update graph.js
Removing redundant (and global) `predecessor`.
Failed to load latest commit information.
LICENSE Adding a LICENSE Aug 6, 2014
README Adding support for multifaceted searches Feb 18, 2012
graph.js Update graph.js Oct 16, 2015
index.html Adding support for multifaceted searches Feb 18, 2012



"Dijkstra's algorithm, conceived by Dutch computer scientist Edsger Dijkstra, is a graph search algorithm that solves the single-source shortest path problem for a graph with nonnegative edge path costs, producing a shortest path tree. This algorithm is often used in routing and as a subroutine in other graph algorithms."


var map = {a:{b:3,c:1},b:{a:2,c:1},c:{a:4,b:1}},
    graph = new Graph(map);

graph.findShortestPath('a', 'b');      // => ['a', 'c', 'b']
graph.findShortestPath('a', 'c');      // => ['a', 'c']
graph.findShortestPath('b', 'a');      // => ['b', 'a']
graph.findShortestPath('b', 'c', 'b'); // => ['b', 'c', 'b']
graph.findShortestPath('c', 'a', 'b'); // => ['c', 'b', 'a', 'c', 'b']
graph.findShortestPath('c', 'b', 'a'); // => ['c', 'b', 'a']