from_nested_tuple#

from_nested_tuple(sequence, sensible_relabeling=False)[源代码]#

返回给定嵌套元组对应的有根树。

树的嵌套元组表示是递归定义的。只有一个节点没有边的树用空元组 () 表示。有 k 个子树的树用一个长度为 k 的元组表示,其中每个元素都是一个子树的嵌套元组表示。

参数:
sequencetuple

表示有根树的嵌套元组。

sensible_relabelingbool

是否重新标记树的节点,以便节点按照从根节点开始的广度优先搜索顺序递增标记。

返回:
NetworkX 图

与给定嵌套元组对应的树,其根节点为节点 0。如果 sensible_labelingTrue,节点将按照从根节点开始的广度优先搜索顺序进行标记。

注释

此函数不是 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