Class AbstractBaseGraph<N>

    • Constructor Detail

      • AbstractBaseGraph

        AbstractBaseGraph()
    • Method Detail

      • edgeCount

        protected long edgeCount()
        Returns the number of edges in this graph; used to calculate the size of edges(). This implementation requires O(|N|) time. Classes extending this one may manually keep track of the number of edges as the graph is updated, and override this method for better performance.
      • incidentEdges

        public java.util.Set<EndpointPair<N>> incidentEdges​(N node)
        Description copied from interface: BaseGraph
        Returns the edges in this graph whose endpoints include node.
        Specified by:
        incidentEdges in interface BaseGraph<N>
      • degree

        public int degree​(N node)
        Description copied from interface: BaseGraph
        Returns the count of node's incident edges, counting self-loops twice (equivalently, the number of times an edge touches node).

        For directed graphs, this is equal to inDegree(node) + outDegree(node).

        For undirected graphs, this is equal to incidentEdges(node).size() + (number of self-loops incident to node).

        If the count is greater than Integer.MAX_VALUE, returns Integer.MAX_VALUE.

        Specified by:
        degree in interface BaseGraph<N>
      • inDegree

        public int inDegree​(N node)
        Description copied from interface: BaseGraph
        Returns the count of node's incoming edges (equal to predecessors(node).size()) in a directed graph. In an undirected graph, returns the BaseGraph.degree(Object).

        If the count is greater than Integer.MAX_VALUE, returns Integer.MAX_VALUE.

        Specified by:
        inDegree in interface BaseGraph<N>
      • outDegree

        public int outDegree​(N node)
        Description copied from interface: BaseGraph
        Returns the count of node's outgoing edges (equal to successors(node).size()) in a directed graph. In an undirected graph, returns the BaseGraph.degree(Object).

        If the count is greater than Integer.MAX_VALUE, returns Integer.MAX_VALUE.

        Specified by:
        outDegree in interface BaseGraph<N>
      • hasEdgeConnecting

        public boolean hasEdgeConnecting​(N nodeU,
                                         N nodeV)
        Description copied from interface: BaseGraph
        Returns true if there is an edge directly connecting nodeU to nodeV. This is equivalent to nodes().contains(nodeU) && successors(nodeU).contains(nodeV).

        In an undirected graph, this is equal to hasEdgeConnecting(nodeV, nodeU).

        Specified by:
        hasEdgeConnecting in interface BaseGraph<N>