Class BaseManyToManyShortestPaths<V,E>

java.lang.Object
org.jgrapht.alg.shortestpath.BaseManyToManyShortestPaths<V,E>
Type Parameters:
V - the graph vertex type
E - the graph edge type
All Implemented Interfaces:
ManyToManyShortestPathsAlgorithm<V,E>, ShortestPathAlgorithm<V,E>
Direct Known Subclasses:
CHManyToManyShortestPaths, DefaultManyToManyShortestPaths, DijkstraManyToManyShortestPaths

abstract class BaseManyToManyShortestPaths<V,E> extends Object implements ManyToManyShortestPathsAlgorithm<V,E>
Base class for many-to-many shortest paths algorithms. Currently extended by CHManyToManyShortestPaths and DijkstraManyToManyShortestPaths.
  • Field Details

    • graph

      protected final Graph<V,E> graph
  • Constructor Details

    • BaseManyToManyShortestPaths

      public BaseManyToManyShortestPaths(Graph<V,E> graph)
      Constructs a new instance of the algorithm for a given graph.
      Parameters:
      graph - the graph
  • Method Details

    • getPath

      public GraphPath<V,E> getPath(V source, V sink)
      Get a shortest path from a source vertex to a sink vertex.
      Specified by:
      getPath in interface ShortestPathAlgorithm<V,E>
      Parameters:
      source - the source vertex
      sink - the target vertex
      Returns:
      a shortest path or null if no path exists
    • getPathWeight

      public double getPathWeight(V source, V sink)
      Get the weight of the shortest path from a source vertex to a sink vertex. Returns Double.POSITIVE_INFINITY if no path exists.
      Specified by:
      getPathWeight in interface ShortestPathAlgorithm<V,E>
      Parameters:
      source - the source vertex
      sink - the sink vertex
      Returns:
      the weight of the shortest path from a source vertex to a sink vertex, or Double.POSITIVE_INFINITY if no path exists
    • getPaths

      public ShortestPathAlgorithm.SingleSourcePaths<V,E> getPaths(V source)
      Compute all shortest paths starting from a single source vertex.
      Specified by:
      getPaths in interface ShortestPathAlgorithm<V,E>
      Parameters:
      source - the source vertex
      Returns:
      the shortest paths
    • getShortestPathsTree

      protected static <V, E> ShortestPathAlgorithm.SingleSourcePaths<V,E> getShortestPathsTree(Graph<V,E> graph, V source, Set<V> targets)
      Computes shortest paths tree starting at source and stopping as soon as all of the targets are reached. Here the DijkstraClosestFirstIterator is used.
      Type Parameters:
      V - the graph vertex type
      E - the graph edge type
      Parameters:
      graph - a graph
      source - source vertex
      targets - target vertices
      Returns:
      shortest paths starting from source and reaching all targets