random_unlabeled_rooted_tree#
- random_unlabeled_rooted_tree(n, *, number_of_trees=None, seed=None)[source]#
返回一个随机均匀选择的未标记有根树的数量
返回一个或多个(取决于
number_of_trees
) 具有n
个节点的未标记有根树,随机均匀选择。- Parameters:
- nint
节点数量
- number_of_treesint 或 None(默认)
如果不是 None,则生成并返回此数量的树。
- seed整数, random_state, 或 None(默认)
随机数生成状态的指示器。 参见 随机性 。
- Returns:
networkx.Graph
或networkx.Graph
列表一个单独的
networkx.Graph
(或列表,如果指定了number_of_trees
),节点集合为 {0, …, n - 1}。 “root” 图属性标识树的根。
- Raises:
- NetworkXPointlessConcept
如果
n
为零(因为空图不是树)。
Notes
树的生成使用 [1] 中的 “RANRUT” 算法。 该算法需要计算一些相对昂贵的计数函数:如果需要多个树, 建议使用
number_of_trees
可选参数来重用计数函数。References
[1]Nijenhuis, Albert, 和 Wilf, Herbert S. “组合算法:适用于计算机和计算器。” Academic Press, 1978. https://doi.org/10.1016/C2013-0-11243-3