Package org.jgrapht.generate
Class RandomGraphGenerator<V,E>
java.lang.Object
org.jgrapht.generate.RandomGraphGenerator<V,E>
- All Implemented Interfaces:
GraphGenerator<V,
E, V>
This Generator creates a random-topology graph of a specified number of
vertexes and edges. An instance of this generator will always return the same
graph-topology in calls to generateGraph(). The vertexes can be different
(depends on the VertexFactory implementation)
However, two instances which use the same constructor parameters will produce two different random graphs (note: as with any random generator, there is always a small possibility that two instances will create the same results).
- Since:
- Aug 6, 2005
- Author:
- Assaf Lehr
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclass
Default implementation of the EdgeTopologyFactory interface.static interface
This class is used to generate the edge topology for a graph. -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
generateGraph
(Graph<V, E> target, VertexFactory<V> vertexFactory, Map<String, V> resultMap) (non-Javadoc)
-
Field Details
-
numOfVertexes
protected int numOfVertexes -
numOfEdges
protected int numOfEdges -
randomizer
-
-
Constructor Details
-
RandomGraphGenerator
public RandomGraphGenerator(int aNumOfVertexes, int aNumOfEdges)
-
-
Method Details
-
generateGraph
public void generateGraph(Graph<V, E> target, VertexFactory<V> vertexFactory, Map<String, V> resultMap) (non-Javadoc)- Specified by:
generateGraph
in interfaceGraphGenerator<V,
E, V> - Parameters:
target
- receives the generated edges and vertices; if this is non-empty on entry, the result will be a disconnected graph since generated elements will not be connected to existing elementsvertexFactory
- called to produce new verticesresultMap
- if non-null, receives implementation-specific mappings from String roles to graph elements (or collections of graph elements)- Throws:
IllegalArgumentException
- if the aNumOfEdges passed in the constructor, cannot be created on a graph of the concrete type with aNumOfVertexes. org.jgrapht.generate.RandomGraphGenerator.DefaultEdgeTopologyFactory#isNumberOfEdgesValid(org.jgrapht.Graph, int)- See Also:
-