path
shortest-paths
Version: 4.2.1.5

Floyd-Warshall

Jay McCarthy <jay at plt-scheme dot org>

An implementation of the Floyd-Warshall all shortest paths algorithm.

 (require (planet jaymccarthy/floyd-warshall))

(struct path (cost edges))
  cost : number?
  edges : (listof any/c)

A struct representing the path between two vertices. The edge list is really the list of nodes along the way.

Note: cost may be +inf.0 and edges may be empty.

(shortest-paths how-many-nodes node-path)
  (matrix? exact-integer? exact-integer? path?)
  how-many-nodes : exact-integer?
  node-path : (exact-integer? exact-integer? . -> . path?)

Returns a matrix (from (planet wmfarr/simple-matrix/matrix-base)) that is how-many-nodes by how-many-nodes where entry (i,j) is the shortest path from node i to node j.