from_nested_tuple#

from_nested_tuple(sequence, sensible_relabeling=False)[source]#

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

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

Parameters:
sequencetuple

表示根树的嵌套元组。

sensible_relabelingbool

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

Returns:
NetworkX graph

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

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