from_nested_tuple#
- from_nested_tuple(sequence, sensible_relabeling=False)[源代码]#
返回给定嵌套元组对应的有根树。
树的嵌套元组表示是递归定义的。只有一个节点没有边的树用空元组
()
表示。有k
个子树的树用一个长度为k
的元组表示,其中每个元素都是一个子树的嵌套元组表示。- 参数:
- sequencetuple
表示有根树的嵌套元组。
- sensible_relabelingbool
是否重新标记树的节点,以便节点按照从根节点开始的广度优先搜索顺序递增标记。
- 返回:
- NetworkX 图
与给定嵌套元组对应的树,其根节点为节点 0。如果
sensible_labeling
为True
,节点将按照从根节点开始的广度优先搜索顺序进行标记。
注释
此函数不是
to_nested_tuple()
的逆操作;唯一保证的是所得到的有根树是同构的。示例
明智的重新标记确保节点从根节点开始,从 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