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.generators.binomial_tree_graph#

binomial_tree_graph(order, weights=None, multigraph=True)#

Generate an undirected binomial tree of order n recursively.

Parameters:
  • order (int) – Order of the binomial tree. The maximum allowed value for order on the platform your running on. If it’s a 64bit platform the max value is 60 and on 32bit systems the max value is 29. Any order value above these will raise an OverflowError.

  • weights (list) – A list of node weights. If the number of weights is less than 2**order, extra nodes with None will be appended.

  • multigraph (bool) – When set to False the output PyGraph object will not be not be a multigraph and won’t allow parallel edges to be added. Instead calls which would create a parallel edge will update the existing edge.

Returns:

A binomial tree with 2^n vertices and 2^n - 1 edges.

Return type:

PyGraph

Raises:
  • IndexError – If the length of weights is greater that 2^n

  • OverflowError – If the input order exceeds the maximum value for the current platform.

import rustworkx.generators
from rustworkx.visualization import mpl_draw

graph = rustworkx.generators.binomial_tree_graph(4)
mpl_draw(graph)
../_images/rustworkx.generators.binomial_tree_graph_0_0.png