A JavaScript implementation of Dijkstra's algorithm
JavaScript HTML
Latest commit 94d6246 Oct 16, 2015 @andrewhayward Update graph.js
Removing redundant (and global) `predecessor`.
Permalink
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

README

/*

"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']