random_labeled_tree#

random_labeled_tree(n, *, seed=None)[source]#

返回一个在 n 个节点上均匀随机选择的标记树。

生成均匀分布的随机 Prüfer 序列并将其转换为相应的树是一种直接的方法,用于生成均匀分布的随机标记树。此函数实现了这种方法。

Parameters:
nint

节点数量,大于零。

seedrandom_state

随机数生成状态的指示器。 参见 随机性

Returns:
networkx.Graph

一个 networkx.Graph ,节点集合为 {0, …, n - 1}。

Raises:
NetworkXPointlessConcept

如果 n 为零(因为空图不是树)。

Examples

>>> 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)])