Class ScaleFreeGraphGenerator<V,​E>

java.lang.Object
org.jgrapht.generate.ScaleFreeGraphGenerator<V,​E>
Type Parameters:
V - the graph vertex type
E - the graph edge type
All Implemented Interfaces:
GraphGenerator<V,​E,​V>

public class ScaleFreeGraphGenerator<V,​E>
extends java.lang.Object
implements GraphGenerator<V,​E,​V>
Generates directed or undirected scale-free network of any size. Scale-free network is a connected graph, where degrees of vertices are distributed in unusual way. There are many vertices with small degrees and only small amount of vertices with big degrees.
Author:
Ilya Razenshteyn
  • Constructor Summary

    Constructors 
    Constructor Description
    ScaleFreeGraphGenerator​(int size)
    Constructor
    ScaleFreeGraphGenerator​(int size, long seed)
    Constructor
    ScaleFreeGraphGenerator​(int size, java.util.Random rng)
    Constructor
  • Method Summary

    Modifier and Type Method Description
    void generateGraph​(Graph<V,​E> target, java.util.Map<java.lang.String,​V> resultMap)
    Generates scale-free network with size passed to the constructor.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.jgrapht.generate.GraphGenerator

    generateGraph
  • Constructor Details

    • ScaleFreeGraphGenerator

      public ScaleFreeGraphGenerator​(int size)
      Constructor
      Parameters:
      size - number of vertices to be generated
    • ScaleFreeGraphGenerator

      public ScaleFreeGraphGenerator​(int size, long seed)
      Constructor
      Parameters:
      size - number of vertices to be generated
      seed - initial seed for the random generator
    • ScaleFreeGraphGenerator

      public ScaleFreeGraphGenerator​(int size, java.util.Random rng)
      Constructor
      Parameters:
      size - number of vertices to be generated
      rng - the random number generator
  • Method Details

    • generateGraph

      public void generateGraph​(Graph<V,​E> target, java.util.Map<java.lang.String,​V> resultMap)
      Generates scale-free network with size passed to the constructor.
      Specified by:
      generateGraph in interface GraphGenerator<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 elements
      resultMap - unused parameter, can be null