|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Graph<V,E>
A graph consisting of a set of vertices of type V
set and a set of edges of type E
. Edges of this
graph type have exactly two endpoints; whether these endpoints
must be distinct depends on the implementation.
This interface permits, but does not enforce, any of the following common variations of graphs:
Definitions (with respect to a given vertex v
):
v
: an edge that can be traversed
from a neighbor of v
to reach v
outgoing edge of v
: an edge that can be traversed
from v
to reach some neighbor of v
predecessor of v
: a vertex at the other end of an
incoming edge of v
successor of v
: a vertex at the other end of an
outgoing edge of v
Method Summary | |
---|---|
boolean |
addEdge(E e,
V v1,
V v2)
Adds edge e to this graph such that it connects
vertex v1 to v2 . |
boolean |
addEdge(E e,
V v1,
V v2,
EdgeType edgeType)
Adds edge e to this graph such that it connects
vertex v1 to v2 . |
V |
getDest(E directed_edge)
If directed_edge is a directed edge in this graph, returns the destination;
otherwise returns null . |
Pair<V> |
getEndpoints(E edge)
Returns the endpoints of edge as a Pair . |
Collection<E> |
getInEdges(V vertex)
Returns a Collection view of the incoming edges incident to vertex
in this graph. |
V |
getOpposite(V vertex,
E edge)
Returns the vertex at the other end of edge from vertex . |
Collection<E> |
getOutEdges(V vertex)
Returns a Collection view of the outgoing edges incident to vertex
in this graph. |
int |
getPredecessorCount(V vertex)
Returns the number of predecessors that vertex has in this graph. |
Collection<V> |
getPredecessors(V vertex)
Returns a Collection view of the predecessors of vertex
in this graph. |
V |
getSource(E directed_edge)
If directed_edge is a directed edge in this graph, returns the source;
otherwise returns null . |
int |
getSuccessorCount(V vertex)
Returns the number of successors that vertex has in this graph. |
Collection<V> |
getSuccessors(V vertex)
Returns a Collection view of the successors of vertex
in this graph. |
int |
inDegree(V vertex)
Returns the number of incoming edges incident to vertex . |
boolean |
isDest(V vertex,
E edge)
Returns true if vertex is the destination of edge . |
boolean |
isPredecessor(V v1,
V v2)
Returns true if v1 is a predecessor of v2 in this graph. |
boolean |
isSource(V vertex,
E edge)
Returns true if vertex is the source of edge . |
boolean |
isSuccessor(V v1,
V v2)
Returns true if v1 is a successor of v2 in this graph. |
int |
outDegree(V vertex)
Returns the number of outgoing edges incident to vertex . |
Methods inherited from interface edu.uci.ics.jung.graph.Hypergraph |
---|
addEdge, addEdge, addVertex, containsEdge, containsVertex, degree, findEdge, findEdgeSet, getDefaultEdgeType, getEdgeCount, getEdgeCount, getEdges, getEdges, getEdgeType, getIncidentCount, getIncidentEdges, getIncidentVertices, getNeighborCount, getNeighbors, getVertexCount, getVertices, isIncident, isNeighbor, removeEdge, removeVertex |
Method Detail |
---|
Collection<E> getInEdges(V vertex)
Collection
view of the incoming edges incident to vertex
in this graph.
getInEdges
in interface Hypergraph<V,E>
vertex
- the vertex whose incoming edges are to be returned
Collection
view of the incoming edges incident
to vertex
in this graphCollection<E> getOutEdges(V vertex)
Collection
view of the outgoing edges incident to vertex
in this graph.
getOutEdges
in interface Hypergraph<V,E>
vertex
- the vertex whose outgoing edges are to be returned
Collection
view of the outgoing edges incident
to vertex
in this graphCollection<V> getPredecessors(V vertex)
Collection
view of the predecessors of vertex
in this graph. A predecessor of vertex
is defined as a vertex v
which is connected to
vertex
by an edge e
, where e
is an outgoing edge of
v
and an incoming edge of vertex
.
getPredecessors
in interface Hypergraph<V,E>
vertex
- the vertex whose predecessors are to be returned
Collection
view of the predecessors of
vertex
in this graphCollection<V> getSuccessors(V vertex)
Collection
view of the successors of vertex
in this graph. A successor of vertex
is defined as a vertex v
which is connected to
vertex
by an edge e
, where e
is an incoming edge of
v
and an outgoing edge of vertex
.
getSuccessors
in interface Hypergraph<V,E>
vertex
- the vertex whose predecessors are to be returned
Collection
view of the successors of
vertex
in this graphint inDegree(V vertex)
vertex
.
Equivalent to getInEdges(vertex).size()
.
inDegree
in interface Hypergraph<V,E>
vertex
- the vertex whose indegree is to be calculated
vertex
int outDegree(V vertex)
vertex
.
Equivalent to getOutEdges(vertex).size()
.
outDegree
in interface Hypergraph<V,E>
vertex
- the vertex whose outdegree is to be calculated
vertex
boolean isPredecessor(V v1, V v2)
true
if v1
is a predecessor of v2
in this graph.
Equivalent to v1.getPredecessors().contains(v2)
.
v1
- the first vertex to be queriedv2
- the second vertex to be queried
true
if v1
is a predecessor of v2
, and false otherwise.boolean isSuccessor(V v1, V v2)
true
if v1
is a successor of v2
in this graph.
Equivalent to v1.getSuccessors().contains(v2)
.
v1
- the first vertex to be queriedv2
- the second vertex to be queried
true
if v1
is a successor of v2
, and false otherwise.int getPredecessorCount(V vertex)
vertex
has in this graph.
Equivalent to vertex.getPredecessors().size()
.
vertex
- the vertex whose predecessor count is to be returned
vertex
has in this graphint getSuccessorCount(V vertex)
vertex
has in this graph.
Equivalent to vertex.getSuccessors().size()
.
vertex
- the vertex whose successor count is to be returned
vertex
has in this graphV getSource(E directed_edge)
directed_edge
is a directed edge in this graph, returns the source;
otherwise returns null
.
The source of a directed edge d
is defined to be the vertex for which
d
is an outgoing edge.
directed_edge
is guaranteed to be a directed edge if
its EdgeType
is DIRECTED
.
getSource
in interface Hypergraph<V,E>
directed_edge
-
directed_edge
if it is a directed edge in this graph, or null
otherwiseV getDest(E directed_edge)
directed_edge
is a directed edge in this graph, returns the destination;
otherwise returns null
.
The destination of a directed edge d
is defined to be the vertex
incident to d
for which
d
is an incoming edge.
directed_edge
is guaranteed to be a directed edge if
its EdgeType
is DIRECTED
.
getDest
in interface Hypergraph<V,E>
directed_edge
-
directed_edge
if it is a directed edge in this graph, or null
otherwiseboolean isSource(V vertex, E edge)
true
if vertex
is the source of edge
.
Equivalent to getSource(edge).equals(vertex)
.
vertex
- the vertex to be queriededge
- the edge to be queried
true
iff vertex
is the source of edge
boolean isDest(V vertex, E edge)
true
if vertex
is the destination of edge
.
Equivalent to getDest(edge).equals(vertex)
.
vertex
- the vertex to be queriededge
- the edge to be queried
true
iff vertex
is the destination of edge
boolean addEdge(E e, V v1, V v2)
e
to this graph such that it connects
vertex v1
to v2
.
Equivalent to addEdge(e, new Pair(v1, v2))
.
If this graph does not contain v1
, v2
,
or both, implementations may choose to either silently add
the vertices to the graph or throw an IllegalArgumentException
.
If this graph assigns edge types to its edges, the edge type of
e
will be the default for this graph.
See Hypergraph.addEdge()
for a listing of possible reasons
for failure.
e
- the edge to be addedv1
- the first vertex to be connectedv2
- the second vertex to be connected
true
if the add is successful, false
otherwiseHypergraph.addEdge(Object, Collection)
,
addEdge(Object, Object, Object, EdgeType)
boolean addEdge(E e, V v1, V v2, EdgeType edgeType)
e
to this graph such that it connects
vertex v1
to v2
.
Equivalent to addEdge(e, new Pair(v1, v2))
.
If this graph does not contain v1
, v2
,
or both, implementations may choose to either silently add
the vertices to the graph or throw an IllegalArgumentException
.
If edgeType
is not legal for this graph, this method will
throw IllegalArgumentException
.
See Hypergraph.addEdge()
for a listing of possible reasons
for failure.
e
- the edge to be addedv1
- the first vertex to be connectedv2
- the second vertex to be connectededgeType
- the type to be assigned to the edge
true
if the add is successful, false
otherwiseHypergraph.addEdge(Object, Collection)
,
addEdge(Object, Object, Object)
Pair<V> getEndpoints(E edge)
edge
as a Pair
.
edge
- the edge whose endpoints are to be returned
edge
V getOpposite(V vertex, E edge)
edge
from vertex
.
(That is, returns the vertex incident to edge
which is not vertex
.)
vertex
- the vertex to be queriededge
- the edge to be queried
edge
from vertex
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |