public class OrderedSparseMultigraph<V,E> extends SparseMultigraph<V,E> implements MultiGraph<V,E>
Graph
that orders its vertex and edge collections
according to insertion time, is suitable for sparse graphs, and
permits directed, undirected, and parallel edges.directedEdges, edges, vertices
Constructor and Description |
---|
OrderedSparseMultigraph()
Creates a new instance.
|
Modifier and Type | Method and Description |
---|---|
boolean |
addVertex(V vertex)
Adds
vertex to this graph. |
static <V,E> com.google.common.base.Supplier<Graph<V,E>> |
getFactory() |
Collection<E> |
getIncidentEdges(V vertex)
Returns the collection of edges in this graph which are connected to
vertex . |
Collection<V> |
getNeighbors(V vertex)
Returns the collection of vertices which are connected to
vertex
via any edges in this graph. |
Collection<V> |
getPredecessors(V vertex)
Returns a
Collection view of the predecessors of vertex
in this graph. |
Collection<V> |
getSuccessors(V vertex)
Returns a
Collection view of the successors of vertex
in this graph. |
addEdge, containsEdge, containsVertex, findEdge, getDefaultEdgeType, getDest, getEdgeCount, getEdgeCount, getEdges, getEdges, getEdgeType, getEndpoints, getIncoming_internal, getInEdges, getOutEdges, getOutgoing_internal, getSource, getVertexCount, getVertices, isDest, isSource, removeEdge, removeVertex
addEdge, addEdge, addEdge, addEdge, addEdge, degree, findEdgeSet, getIncidentCount, getIncidentVertices, getNeighborCount, getOpposite, getPredecessorCount, getSuccessorCount, getValidatedEndpoints, inDegree, isIncident, isNeighbor, isPredecessor, isSuccessor, outDegree, toString
public static <V,E> com.google.common.base.Supplier<Graph<V,E>> getFactory()
V
- the vertex type for the graph SupplierE
- the edge type for the graph SupplierSupplier
that creates an instance of this graph type.public boolean addVertex(V vertex)
Hypergraph
vertex
to this graph.
Fails if vertex
is null or already in the graph.addVertex
in interface Hypergraph<V,E>
addVertex
in class SparseMultigraph<V,E>
vertex
- the vertex to addtrue
if the add is successful, and false
otherwisepublic Collection<V> getPredecessors(V vertex)
Graph
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 Graph<V,E>
getPredecessors
in interface Hypergraph<V,E>
getPredecessors
in class SparseMultigraph<V,E>
vertex
- the vertex whose predecessors are to be returnedCollection
view of the predecessors of
vertex
in this graphpublic Collection<V> getSuccessors(V vertex)
Graph
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 Graph<V,E>
getSuccessors
in interface Hypergraph<V,E>
getSuccessors
in class SparseMultigraph<V,E>
vertex
- the vertex whose predecessors are to be returnedCollection
view of the successors of
vertex
in this graphpublic Collection<V> getNeighbors(V vertex)
Hypergraph
vertex
via any edges in this graph.
If vertex
is connected to itself with a self-loop, then
it will be included in the collection returned.getNeighbors
in interface Hypergraph<V,E>
getNeighbors
in class SparseMultigraph<V,E>
vertex
- the vertex whose neighbors are to be returnedvertex
,
or null
if vertex
is not presentpublic Collection<E> getIncidentEdges(V vertex)
Hypergraph
vertex
.getIncidentEdges
in interface Hypergraph<V,E>
getIncidentEdges
in class SparseMultigraph<V,E>
vertex
- the vertex whose incident edges are to be returnedvertex
,
or null
if vertex
is not presentCopyright © 2015. All rights reserved.