Note
This is the documentation for the current state of the development branch of rustworkx. The documentation or APIs here can change prior to being released.
rustworkx.directed_barabasi_albert_graph#
- directed_barabasi_albert_graph(n, m, seed=None, initial_graph=None)#
Generate a random graph using Barabási–Albert preferential attachment
A graph is grown to $n$ nodes by adding new nodes each with $m$ edges that are preferentially attached to existing nodes with high degree. All the edges and nodes added to this graph will have weights of
None. For the purposes of the extension algorithm all edges are treated as weak (meaning directionality isn’t considered).The algorithm performed by this function is described in:
A. L. Barabási and R. Albert “Emergence of scaling in random networks”, Science 286, pp 509-512, 1999.
- Parameters:
n (int) – The number of nodes to extend the graph to.
m (int) – The number of edges to attach from a new node to existing nodes.
seed (int) – An optional seed to use for the random number generator
initial_graph (PyDiGraph) – An optional initial graph to use as a starting point.
star_graph()is used to create anmnode star graph to use as a starting point. If specified the input graph will be modified in place.
- Returns:
A PyDiGraph object
- Return type: