Class TreeSingleSourcePathsImpl<V,​E>

    • Field Detail

      • g

        protected Graph<V,​E> g
        The graph
      • source

        protected V source
        The source vertex
      • map

        protected Map<V,​Pair<Double,​E>> map
        A map which keeps for each target vertex the predecessor edge and the total length of the shortest path.
    • Constructor Detail

      • TreeSingleSourcePathsImpl

        public TreeSingleSourcePathsImpl​(Graph<V,​E> g,
                                         V source,
                                         Map<V,​Pair<Double,​E>> distanceAndPredecessorMap)
        Construct a new instance.
        Parameters:
        g - the graph
        source - the source vertex
        distanceAndPredecessorMap - a map which contains for each vertex the distance and the last edge that was used to discover the vertex. The map does not need to contain any entry for the source vertex. In case it does contain the predecessor at the source vertex must be null.
    • Method Detail

      • getDistanceAndPredecessorMap

        public Map<V,​Pair<Double,​E>> getDistanceAndPredecessorMap()
        Get the internal map used for representing the paths.
        Returns:
        the internal distance and predecessor map used for representing the paths.
      • getWeight

        public double getWeight​(V targetVertex)
        Return the weight of the path from the source vertex to the sink vertex. If no such path exists, Double.POSITIVE_INFINITY is returned. The weight of the path between a vertex and itself is always zero.
        Specified by:
        getWeight in interface ShortestPathAlgorithm.SingleSourcePaths<V,​E>
        Parameters:
        targetVertex - the sink vertex
        Returns:
        the weight of the path between source and sink vertices or Double.POSITIVE_INFINITY in case no such path exists
      • getPath

        public GraphPath<V,​E> getPath​(V targetVertex)
        Return the path from the source vertex to the sink vertex.
        Specified by:
        getPath in interface ShortestPathAlgorithm.SingleSourcePaths<V,​E>
        Parameters:
        targetVertex - the sink vertex
        Returns:
        the path from the source vertex to the sink vertex or null if no such path exists