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.directed_binomial_tree_graph#
- directed_binomial_tree_graph(order, weights=None, bidirectional=False, multigraph=True)#
Generate a directed binomial tree of order n recursively.
The edges propagate towards right and bottom direction if
bidirectional
isFalse
- 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.
bidirectional – A parameter to indicate if edges should exist in both directions between nodes. Defaults to
False
.multigraph (bool) – When set to
False
the outputPyDiGraph
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 directed binomial tree with 2^n vertices and 2^n - 1 edges.
- Return type:
- Raises:
IndexError – If the length of
weights
is greater that 2^nOverflowError – If the input order exceeds the maximum value for the current platform.
import rustworkx.generators from rustworkx.visualization import mpl_draw graph = rustworkx.generators.directed_binomial_tree_graph(4) mpl_draw(graph)