java.lang.Object
org.jgrapht.graph.AbstractGraph<V,E>
org.jgrapht.graph.GraphDelegator<V,E>
org.jgrapht.graph.AsUnweightedGraph<V,E>
- Type Parameters:
V- the graph vertex typeE- the graph edge type
- All Implemented Interfaces:
Serializable,Graph<V,E>
Provides an unweighted view on a graph.
Algorithms designed for unweighted graphs should also work on weighted graphs. This class
emulates an unweighted graph based on a weighted one by returning
Graph.DEFAULT_EDGE_WEIGHT
for each edge weight. The underlying weighted graph is provided at the constructor.
Modifying operations (adding/removing vertexes/edges) are also passed through to the underlying
weighted graph. As edge weight, Graph.DEFAULT_EDGE_WEIGHT is used. Setting an edge weight is not
supported. The edges are not modified. So, if an edge is asked for, the one from the underlying
weighted graph is returned. In case the underlying graph is serializable, this one is
serializable, too.- See Also:
-
Field Summary
Fields inherited from interface org.jgrapht.Graph
DEFAULT_EDGE_WEIGHT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoublegetEdgeWeight(E e) Returns the weight assigned to a given edge.getType()Get the graph type.voidsetEdgeWeight(E e, double weight) Assigns a weight to an edge.Methods inherited from class org.jgrapht.graph.GraphDelegator
addEdge, addEdge, addVertex, addVertex, containsEdge, containsVertex, degreeOf, edgeSet, edgesOf, getAllEdges, getDelegate, getEdge, getEdgeSource, getEdgeSupplier, getEdgeTarget, getVertexSupplier, incomingEdgesOf, inDegreeOf, outDegreeOf, outgoingEdgesOf, removeEdge, removeEdge, removeVertex, toString, vertexSetMethods inherited from class org.jgrapht.graph.AbstractGraph
assertVertexExist, containsEdge, equals, hashCode, removeAllEdges, removeAllEdges, removeAllEdges, removeAllVertices, toStringFromSetsMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.jgrapht.Graph
addEdge, addEdge, addVertex, addVertex, containsEdge, containsEdge, containsVertex, degreeOf, edgeSet, edgesOf, getAllEdges, getEdge, getEdgeSource, getEdgeSupplier, getEdgeTarget, getVertexSupplier, incomingEdgesOf, inDegreeOf, iterables, outDegreeOf, outgoingEdgesOf, removeAllEdges, removeAllEdges, removeAllVertices, removeEdge, removeEdge, removeVertex, setEdgeWeight, vertexSet
-
Constructor Details
-
AsUnweightedGraph
Constructor for AsUnweightedGraph.- Parameters:
g- the backing directed graph over which an undirected view is to be created.- Throws:
NullPointerException- if the graph is null
-
-
Method Details
-
getEdgeWeight
Description copied from class:GraphDelegatorReturns the weight assigned to a given edge. Unweighted graphs return 1.0 (as defined byGraph.DEFAULT_EDGE_WEIGHT), allowing weighted-graph algorithms to apply to them when meaningful.- Specified by:
getEdgeWeightin interfaceGraph<V,E> - Overrides:
getEdgeWeightin classGraphDelegator<V,E> - Parameters:
e- edge of interest- Returns:
- edge weight
-
setEdgeWeight
Description copied from class:GraphDelegatorAssigns a weight to an edge.- Specified by:
setEdgeWeightin interfaceGraph<V,E> - Overrides:
setEdgeWeightin classGraphDelegator<V,E> - Parameters:
e- edge on which to set weightweight- new weight for edge
-
getType
Description copied from class:GraphDelegatorGet the graph type. The graph type can be used to query for additional metadata such as whether the graph supports directed or undirected edges, self-loops, multiple (parallel) edges, weights, etc.
-