from_nested_tuple#
- from_nested_tuple(sequence, sensible_relabeling=False)[source]#
返回与给定嵌套元组对应的根树。
嵌套元组表示的树是递归定义的。只有一个节点且没有边的树用空元组
()
表示。具有k
个子树的树用长度为k
的元组表示,其中每个元素是子树的嵌套元组表示。- Parameters:
- sequencetuple
表示根树的嵌套元组。
- sensible_relabelingbool
是否重新标记树的节点,使得节点按照从根节点开始的广度优先搜索顺序递增标记。
- Returns:
- NetworkX graph
与给定嵌套元组对应的树,其根节点为节点 0。如果
sensible_labeling
为True
,节点将从根节点开始按广度优先搜索顺序标记。
See also
Notes
此函数 不是
to_nested_tuple()
的逆函数;唯一保证的是根树是同构的。Examples
合理的重新标记确保节点从根节点开始从 0 开始标记:
>>> balanced = (((), ()), ((), ())) >>> T = nx.from_nested_tuple(balanced, sensible_relabeling=True) >>> edges = [(0, 1), (0, 2), (1, 3), (1, 4), (2, 5), (2, 6)] >>> all((u, v) in T.edges() or (v, u) in T.edges() for (u, v) in edges) True