Package org.jgrapht.graph.specifics
Interface Specifics<V,E>
-
- Type Parameters:
V
- the graph vertex typeE
- the graph edge type
- All Known Implementing Classes:
DirectedSpecifics
,FastLookupDirectedSpecifics
,FastLookupUndirectedSpecifics
,UndirectedSpecifics
public interface Specifics<V,E>
An interface encapsulating the basic graph operations. Different implementations have different space-time tradeoffs.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addEdgeToTouchingVertices(E e)
Adds the specified edge to the edge containers of its source and target vertices.void
addVertex(V vertex)
Adds a vertex.int
degreeOf(V vertex)
Returns the degree of the specified vertex.java.util.Set<E>
edgesOf(V vertex)
Returns a set of all edges touching the specified vertex.java.util.Set<E>
getAllEdges(V sourceVertex, V targetVertex)
Returns a set of all edges connecting source vertex to target vertex if such vertices exist in this graph.E
getEdge(V sourceVertex, V targetVertex)
Returns an edge connecting source vertex to target vertex if such vertices and such edge exist in this graph.java.util.Set<V>
getVertexSet()
Get the vertex set.java.util.Set<E>
incomingEdgesOf(V vertex)
Returns a set of all edges incoming into the specified vertex.int
inDegreeOf(V vertex)
Returns the "in degree" of the specified vertex.int
outDegreeOf(V vertex)
Returns the "out degree" of the specified vertex.java.util.Set<E>
outgoingEdgesOf(V vertex)
Returns a set of all edges outgoing from the specified vertex.void
removeEdgeFromTouchingVertices(E e)
Removes the specified edge from the edge containers of its source and target vertices.
-
-
-
Method Detail
-
addVertex
void addVertex(V vertex)
Adds a vertex.- Parameters:
vertex
- vertex to be added.
-
getVertexSet
java.util.Set<V> getVertexSet()
Get the vertex set.- Returns:
- the vertex set
-
getAllEdges
java.util.Set<E> getAllEdges(V sourceVertex, V targetVertex)
Returns a set of all edges connecting source vertex to target vertex if such vertices exist in this graph. If any of the vertices does not exist or isnull
, returnsnull
. If both vertices exist but no edges found, returns an empty set.- Parameters:
sourceVertex
- source vertex of the edge.targetVertex
- target vertex of the edge.- Returns:
- a set of all edges connecting source vertex to target vertex.
-
getEdge
E getEdge(V sourceVertex, V targetVertex)
Returns an edge connecting source vertex to target vertex if such vertices and such edge exist in this graph. Otherwise returnsnull
. If any of the specified vertices isnull
returnsnull
In undirected graphs, the returned edge may have its source and target vertices in the opposite order.
- Parameters:
sourceVertex
- source vertex of the edge.targetVertex
- target vertex of the edge.- Returns:
- an edge connecting source vertex to target vertex.
-
addEdgeToTouchingVertices
void addEdgeToTouchingVertices(E e)
Adds the specified edge to the edge containers of its source and target vertices.- Parameters:
e
- the edge
-
degreeOf
int degreeOf(V vertex)
Returns the degree of the specified vertex. A degree of a vertex in an undirected graph is the number of edges touching that vertex.- Parameters:
vertex
- vertex whose degree is to be calculated.- Returns:
- the degree of the specified vertex.
-
edgesOf
java.util.Set<E> edgesOf(V vertex)
Returns a set of all edges touching the specified vertex. If no edges are touching the specified vertex returns an empty set.- Parameters:
vertex
- the vertex for which a set of touching edges is to be returned.- Returns:
- a set of all edges touching the specified vertex.
-
inDegreeOf
int inDegreeOf(V vertex)
Returns the "in degree" of the specified vertex.- Parameters:
vertex
- vertex whose in degree is to be calculated.- Returns:
- the in degree of the specified vertex.
-
incomingEdgesOf
java.util.Set<E> incomingEdgesOf(V vertex)
Returns a set of all edges incoming into the specified vertex.- Parameters:
vertex
- the vertex for which the list of incoming edges to be returned.- Returns:
- a set of all edges incoming into the specified vertex.
-
outDegreeOf
int outDegreeOf(V vertex)
Returns the "out degree" of the specified vertex.- Parameters:
vertex
- vertex whose out degree is to be calculated.- Returns:
- the out degree of the specified vertex.
-
outgoingEdgesOf
java.util.Set<E> outgoingEdgesOf(V vertex)
Returns a set of all edges outgoing from the specified vertex.- Parameters:
vertex
- the vertex for which the list of outgoing edges to be returned.- Returns:
- a set of all edges outgoing from the specified vertex.
-
removeEdgeFromTouchingVertices
void removeEdgeFromTouchingVertices(E e)
Removes the specified edge from the edge containers of its source and target vertices.- Parameters:
e
- the edge
-
-