Package org.jgrapht.generate
Class HyperCubeGraphGenerator<V,E>
- java.lang.Object
-
- org.jgrapht.generate.HyperCubeGraphGenerator<V,E>
-
- Type Parameters:
V
- the graph vertex typeE
- the graph edge type
- All Implemented Interfaces:
GraphGenerator<V,E,V>
public class HyperCubeGraphGenerator<V,E> extends java.lang.Object implements GraphGenerator<V,E,V>
Generates a hyper cube graph of any size. This is a graph that can be represented by bit strings, so for an n-dimensial hypercube each vertex resembles an n-length bit string. Then, two vertices are adjacent if and only if their bitstring differ by exactly one element.- Since:
- Dec 21, 2008
-
-
Field Summary
Fields Modifier and Type Field Description private int
dim
-
Constructor Summary
Constructors Constructor Description HyperCubeGraphGenerator(int dim)
Creates a new HyperCubeGraphGenerator object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
generateGraph(Graph<V,E> target, VertexFactory<V> vertexFactory, java.util.Map<java.lang.String,V> resultMap)
This will generate the hypercube graph
-
-
-
Method Detail
-
generateGraph
public void generateGraph(Graph<V,E> target, VertexFactory<V> vertexFactory, java.util.Map<java.lang.String,V> resultMap)
This will generate the hypercube graph- 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)
-
-