Edges are just a Seq of Tuple3[Node,Node,Edge]
To get all shortest paths from a single source (or sink), first create the initial label digraph.
To get all shortest paths from a single source (or sink), first create the initial label digraph. You'll want to reuse this graph for different sources and sinks.
The helper methods in AllPathsFirstSteps need a directed graph.
The helper methods in AllPathsFirstSteps need a directed graph. Use AllPathsFirstSteps.semiring's annihilator - None - for noEdgeExistsValue.
Build on AllPathsFirstSteps' convert method
Generate the first steps for all paths in the graph
Generate the first steps for all paths in the graph in parallel
Or just get the shortest paths
Use the initialLabelDigraph to create the labels for the shortest paths from the source
This time, we'll need to supply a function that can convert from a String to a Double to build up the initial graph of edges.
This time, we'll need to supply a function that can convert from a String to a Double to build up the initial graph of edges. You'll probably have something more significant than this hack.
Get a subgraph that holds all the possible shortest paths
A semiring support instance that uses double-valued labels to find the shortest paths.
Use Dijkstra's algorithms to find either single-source or all-pairs shortest paths using a custom semiring, LeastWeights.
v0.2.0