public class HypercubeGenerator extends BaseGenerator
nextEvents()
.
After d calls to nextEvents()
one obtains a graph with 2^d nodes. Nodes i and j are connected
if and only if their binary representations differ by exactly one bit.
Graph graph = new SingleGraph("hypercube"); Generator gen = new HypercubeGenerator(); gen.addSink(graph); gen.begin(); for (dim = 1; dim <= 4; dim++) gen.nextEvents(); gen.end();
Constructor and Description |
---|
HypercubeGenerator()
Creates a hypercube generator
|
Modifier and Type | Method and Description |
---|---|
void |
begin()
Creates a hypercube of dimension 0, that is, a single node
|
boolean |
nextEvents()
Grows the hypercube dimension by doubling all the existing nodes
and adding the corresponding edges.
|
addEdgeAttribute, addEdgeAttribute, addEdgeAttribute, addEdgeLabels, addNodeAttribute, addNodeAttribute, addNodeAttribute, addNodeLabels, end, isUsingInternalGraph, removeEdgeAttribute, removeNodeAttribute, setDirectedEdges, setRandomSeed, setUseInternalGraph
addAttributeSink, addElementSink, addSink, attributeSinks, clearAttributeSinks, clearElementSinks, clearSinks, elementSinks, removeAttributeSink, removeElementSink, removeSink, sendAttributeChangedEvent, sendAttributeChangedEvent, sendEdgeAdded, sendEdgeAdded, sendEdgeAttributeAdded, sendEdgeAttributeAdded, sendEdgeAttributeChanged, sendEdgeAttributeChanged, sendEdgeAttributeRemoved, sendEdgeAttributeRemoved, sendEdgeRemoved, sendEdgeRemoved, sendGraphAttributeAdded, sendGraphAttributeAdded, sendGraphAttributeChanged, sendGraphAttributeChanged, sendGraphAttributeRemoved, sendGraphAttributeRemoved, sendGraphCleared, sendGraphCleared, sendNodeAdded, sendNodeAdded, sendNodeAttributeAdded, sendNodeAttributeAdded, sendNodeAttributeChanged, sendNodeAttributeChanged, sendNodeAttributeRemoved, sendNodeAttributeRemoved, sendNodeRemoved, sendNodeRemoved, sendStepBegins, sendStepBegins
public void begin()
Generator.begin()
public boolean nextEvents()
Generator.nextEvents()