N
- Node parameter type@Beta public abstract class AbstractGraph<N> extends Object implements Graph<N>
Graph
. It is recommended to extend this
class rather than implement Graph
directly.Constructor and Description |
---|
AbstractGraph() |
Modifier and Type | Method and Description |
---|---|
int |
degree(Object node)
Returns the count of
node 's incident edges, counting self-loops twice (equivalently,
the number of times an edge touches node ). |
protected long |
edgeCount()
Returns the number of edges in this graph; used to calculate the size of
edges() . |
Set<EndpointPair<N>> |
edges()
A reasonable default implementation of
Graph.edges() defined in terms of Graph.nodes() and Graph.successors(Object) . |
int |
inDegree(Object node)
Returns the count of
node 's incoming edges (equal to predecessors(node).size() )
in a directed graph. |
int |
outDegree(Object node)
Returns the count of
node 's outgoing edges (equal to successors(node).size() )
in a directed graph. |
String |
toString()
Returns a string representation of this graph.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
adjacentNodes, allowsSelfLoops, equals, hashCode, isDirected, nodeOrder, nodes, predecessors, successors
public AbstractGraph()
protected long edgeCount()
edges()
. The
default implementation is O(|N|). You can manually keep track of the number of edges and
override this method for better performance.public Set<EndpointPair<N>> edges()
Graph.edges()
defined in terms of Graph.nodes()
and Graph.successors(Object)
.public int degree(Object node)
Graph
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 adjacentNodes(node).size()
+ (1 if node
has an incident self-loop, 0 otherwise).
If the count is greater than Integer.MAX_VALUE
, returns Integer.MAX_VALUE
.
public int inDegree(Object node)
Graph
node
's incoming edges (equal to predecessors(node).size()
)
in a directed graph. In an undirected graph, returns the Graph.degree(Object)
.
If the count is greater than Integer.MAX_VALUE
, returns Integer.MAX_VALUE
.
public int outDegree(Object node)
Graph
node
's outgoing edges (equal to successors(node).size()
)
in a directed graph. In an undirected graph, returns the Graph.degree(Object)
.
If the count is greater than Integer.MAX_VALUE
, returns Integer.MAX_VALUE
.
Copyright © 2010-2017. All Rights Reserved.