Version: 4.2.1.5
Floyd-Warshall
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.