random_labeled_tree#
- random_labeled_tree(n, *, seed=None)[source]#
返回在
n
个节点上均匀随机选择的带标签树。生成均匀分布的随机 Prüfer 序列并将其转换为相应的树,是生成均匀分布的随机带标签树的直接方法。此函数实现了该方法。
- 参数:
- nint
节点数,必须大于零。
- seedrandom_state
随机数生成状态指示器。参见 随机性
- 返回:
networkx.Graph
一个
networkx.Graph
,其节点集合为 {0, …, n - 1}。
- 抛出异常:
- NetworkXPointlessConcept
如果
n
为零(因为空图不是树)。
示例
>>> G = nx.random_labeled_tree(5, seed=42) >>> nx.is_tree(G) True >>> G.edges EdgeView([(0, 1), (0, 3), (0, 2), (2, 4)])
可以通过将生成的边分配给
DiGraph
来创建具有任意定向边的树>>> DG = nx.DiGraph() >>> DG.add_edges_from(G.edges) >>> nx.is_tree(DG) True >>> DG.edges OutEdgeView([(0, 1), (0, 3), (0, 2), (2, 4)])