to_nested_tuple#
- to_nested_tuple(T, root, canonical_form=False)[source]#
 返回给定树的嵌套元组表示形式。
树的嵌套元组表示形式是递归定义的。只有一个节点且没有边的树表示为空元组
()。具有k个子树的树表示为一个长度为k的元组,其中每个元素是子树的嵌套元组表示形式。- Parameters:
 - TNetworkX 图
 表示树的无向图对象。
- root节点
 解释为树根的
T中的节点。- canonical_formbool
 如果为
True,每个元组都会被排序,使得函数返回有根树的规范形式。这意味着“较轻”的子树会先于“较重”的子树作为嵌套元组出现。这样,每个同构的有根树都有相同的嵌套元组表示形式。
- Returns:
 - tuple
 树的嵌套元组表示形式。
See also
Notes
此函数 不是
from_nested_tuple()的逆函数;唯一保证的是有根树是同构的。Examples
树不必是平衡二叉树:
>>> T = nx.Graph() >>> T.add_edges_from([(0, 1), (0, 2), (0, 3)]) >>> T.add_edges_from([(1, 4), (1, 5)]) >>> T.add_edges_from([(3, 6), (3, 7)]) >>> root = 0 >>> nx.to_nested_tuple(T, root) (((), ()), (), ((), ()))
继续上述示例,如果
canonical_form为True,嵌套元组将被排序:>>> nx.to_nested_tuple(T, root, canonical_form=True) ((), ((), ()), ((), ()))
即使是路径图也可以被解释为树:
>>> T = nx.path_graph(4) >>> root = 0 >>> nx.to_nested_tuple(T, root) ((((),),),)