Packages

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

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. APShortestPath
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new APShortestPath(c: MatriD)

    c

    the cost/distance matrix.

Value Members

  1. 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.

  2. 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

  3. def rad: Double

    Return the radius (minimum eccentricity) of the graph.

    Return the radius (minimum eccentricity) of the graph. Must call 'spath' first.

  4. val rang: Range
  5. 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.