java.lang.Object
org.jgrapht.alg.util.NeighborCache<V,E>
- Type Parameters:
V- the vertex typeE- the edge type
- All Implemented Interfaces:
EventListener,GraphListener<V,,E> VertexSetListener<V>
Maintains a cache of each vertex's neighbors. While lists of neighbors can be obtained from
Graphs, they are re-calculated at each invocation by walking a vertex's incident edges,
which becomes inordinately expensive when performed often.
The cache also keeps track of successors and predecessors for each vertex. This means that the result of the union of calling predecessorsOf(v) and successorsOf(v) is equal to the result of calling neighborsOf(v) for a given vertex v.
- Author:
- Szabolcs Besenyei
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidNotifies that an edge has been added to the graph.voidNotifies that an edge has been removed from the graph.neighborListOf(V v) Returns a list of vertices which are adjacent to a specified vertex.neighborsOf(V v) Returns the unique neighbors of the given vertex if it exists in the cache, otherwise it is initialized.predecessorsOf(V v) Returns the unique predecessors of the given vertex if it exists in the cache, otherwise it is initialized.successorsOf(V v) Returns the unique successors of the given vertex if it exists in the cache, otherwise it is initialized.voidNotifies that a vertex has been added to the graph.voidNotifies that a vertex has been removed from the graph.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.jgrapht.event.GraphListener
edgeWeightUpdated
-
Constructor Details
-
NeighborCache
Constructor- Parameters:
graph- the input graph- Throws:
NullPointerException- if the input graph is null
-
-
Method Details
-
predecessorsOf
Returns the unique predecessors of the given vertex if it exists in the cache, otherwise it is initialized.- Parameters:
v- the given vertex- Returns:
- the unique predecessors of the given vertex
-
successorsOf
Returns the unique successors of the given vertex if it exists in the cache, otherwise it is initialized.- Parameters:
v- the given vertex- Returns:
- the unique successors of the given vertex
-
neighborsOf
Returns the unique neighbors of the given vertex if it exists in the cache, otherwise it is initialized.- Parameters:
v- the given vertex- Returns:
- the unique neighbors of the given vertex
-
neighborListOf
Returns a list of vertices which are adjacent to a specified vertex. If the graph is a multigraph, vertices may appear more than once in the returned list. Because a list of neighbors can not be efficiently maintained, it is reconstructed on every invocation, by duplicating entries in the neighbor set. It is thus more efficient to useneighborsOf(V)unless duplicate neighbors are important.- Parameters:
v- the vertex whose neighbors are desired- Returns:
- all neighbors of the specified vertex
-
edgeAdded
Description copied from interface:GraphListenerNotifies that an edge has been added to the graph.- Specified by:
edgeAddedin interfaceGraphListener<V,E> - Parameters:
e- the edge event.
-
edgeRemoved
Description copied from interface:GraphListenerNotifies that an edge has been removed from the graph.- Specified by:
edgeRemovedin interfaceGraphListener<V,E> - Parameters:
e- the edge event.
-
vertexAdded
Description copied from interface:VertexSetListenerNotifies that a vertex has been added to the graph.- Specified by:
vertexAddedin interfaceVertexSetListener<V>- Parameters:
e- the vertex event.
-
vertexRemoved
Description copied from interface:VertexSetListenerNotifies that a vertex has been removed from the graph.- Specified by:
vertexRemovedin interfaceVertexSetListener<V>- Parameters:
e- the vertex event.
-