V - the graph vertex typeE - the graph edge typepublic class BarabasiAlbertForestGenerator<V,E> extends Object implements GraphGenerator<V,E,V>
The general graph generator is described in the paper: A.-L. Barabási and R. Albert. Emergence of scaling in random networks. Science, 286:509-512, 1999.
The generator starts with a $t$ isolated nodes and grows the network by adding $n - t$ additional nodes. The additional nodes are added one by one and each of them is connected to one previously added node, where the probability of connecting to a node is proportional to its degree.
Note that this Barabàsi-Albert generator only works on undirected graphs. For a version that
works on both directed and undirected graphs and generates only connected graphs see
BarabasiAlbertGraphGenerator.
| Constructor and Description |
|---|
BarabasiAlbertForestGenerator(int t,
int n)
Constructor
|
BarabasiAlbertForestGenerator(int t,
int n,
long seed)
Constructor
|
BarabasiAlbertForestGenerator(int t,
int n,
Random rng)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
void |
generateGraph(Graph<V,E> target,
Map<String,V> resultMap)
Generates an instance.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgenerateGraphpublic BarabasiAlbertForestGenerator(int t,
int n)
t - number of treesn - final number of nodesIllegalArgumentException - in case of invalid parameterspublic BarabasiAlbertForestGenerator(int t,
int n,
long seed)
t - number of treesn - final number of nodesseed - seed for the random number generatorIllegalArgumentException - in case of invalid parameterspublic BarabasiAlbertForestGenerator(int t,
int n,
Random rng)
t - number of treesn - final number of nodesrng - the random number generator to useIllegalArgumentException - in case of invalid parameterspublic void generateGraph(Graph<V,E> target, Map<String,V> resultMap)
Note: An exception will be thrown if the target graph is not empty (i.e. contains at least one vertex)
generateGraph in interface GraphGenerator<V,E,V>target - the target graphresultMap - not used by this generator, can be nullNullPointerException - if target is nullIllegalArgumentException - if target is not undirectedIllegalArgumentException - if target is not emptyCopyright © 2019. All rights reserved.