random_unlabeled_rooted_tree#
- random_unlabeled_rooted_tree(n, *, number_of_trees=None, seed=None)[源代码]#
均匀随机返回若干个无标签有根树
返回一个或多个(取决于
number_of_trees
)具有n
个节点的无标签有根树,这些树是均匀随机抽取的。- 参数:
- nint
节点数量
- number_of_treesint 或 None(默认)
如果非 None,则生成并返回此数量的树。
- seedinteger, random_state, 或 None(默认)
随机数生成状态的指示符。参见 随机性。
- 返回:
networkx.Graph
或networkx.Graph
的列表一个
networkx.Graph
(如果指定了number_of_trees
,则为一个列表),其节点集合为 {0, …, n - 1}。“root”图属性标识树的根节点。
- 抛出:
- NetworkXPointlessConcept
如果
n
为零(因为空图不是树)。
注意
这些树是使用 [1] 中的“RANRUT”算法生成的。该算法需要计算一些相对耗费资源的计数函数:如果需要多个树,建议使用可选参数
number_of_trees
来重用计数函数。参考文献
[1]Nijenhuis, Albert, and Wilf, Herbert S. “Combinatorial algorithms: for computers and calculators.” Academic Press, 1978. https://doi.org/10.1016/C2013-0-11243-3