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.
Or just get the shortest paths
Use the initialLabelDigraph to create the labels for the shortest paths from the source.
Generate all the shortest paths in the graph
Generate all the shortest paths in the graph in parallel
Get a subgraph that holds all the possible shortest paths
The simplest API call finds paths with the fewest nodes, and supplies possible first steps to follow those paths.
The simplest API call finds paths with the fewest nodes, and supplies possible first steps to follow those paths. AllPathsFirstSteps has some helper methods to generate the shortest paths.
AllPathsFirstSteps takes a type parameter for Node's type, so you'll need to create a new one for your use.
Use Dijkstra's algorithms to find either single-source or all-pairs shortest paths using the default semiring.
v0.2.0