class APShortestPath extends AnyRef
The APShortestPath
class is used to solve shortest path problems for graphs
stored in matrices. It solves the All-Pairs Shortest Path 'APSP' problem
for directed graphs. The edge cost/distance (must be non-negative) can be
stored in either a dense or sparse matrix. The Floyd-Warshall Algorithm is used.
- See also
http://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorithm 'APSP' can be used to determine a graph's eccentricities, radius and diameter. These can also be computed using a BFS-based algorithm.
math.stackexchange.com/questions/240556/radius-diameter-and-center-of-graph
- Alphabetic
- By Inheritance
- APShortestPath
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
APShortestPath(c: MatriD)
- c
the cost/distance matrix.
Value Members
-
def
diam: Double
Return the diameter (longest shortest path) of the graph.
Return the diameter (longest shortest path) of the graph. Must call 'spath' first.
-
def
ecc(i: Int): Double
Return the eccentricity of vertex 'i'.
Return the eccentricity of vertex 'i'. Must call 'spath' first.
- i
the vertex whose eccentricity is sought
-
def
rad: Double
Return the radius (minimum eccentricity) of the graph.
Return the radius (minimum eccentricity) of the graph. Must call 'spath' first.
- val rang: Range
-
def
spath(): Unit
Determine the shortest from vertex i to j for all pairs of vertices.
Determine the shortest from vertex i to j for all pairs of vertices. The matrix 'c' is changed in-place from edge length to least distance.