當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python NetworkX to_nested_tuple用法及代碼示例


本文簡要介紹 networkx.algorithms.tree.coding.to_nested_tuple 的用法。

用法:

to_nested_tuple(T, root, canonical_form=False)

返回給定樹的嵌套元組表示。

樹的嵌套元組表示是遞歸定義的。具有一個節點且沒有邊的樹由空元組 () 表示。具有 k 子樹的樹由長度為 k 的元組表示,其中每個元素都是子樹的嵌套元組表示。

參數

TNetworkX 圖

表示樹的無向圖對象。

root節點

T 中的節點解釋為樹的根。

canonical_formbool

如果 True ,則對每個元組進行排序,以便函數返回有根樹的規範形式。這意味著“lighter” 子樹將在“heavier” 子樹之前顯示為嵌套元組。這樣,每個同構有根樹都具有相同的嵌套元組表示。

返回

元組

樹的嵌套元組表示。

注意

此函數是 not 的倒數 from_nested_tuple() ;唯一的保證是有根樹是同構的。

例子

該樹不必是平衡二叉樹:

>>> 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_formTrue ,嵌套的元組將被排序:

>>> nx.to_nested_tuple(T, root, canonical_form=True)
((), ((), ()), ((), ()))

甚至路徑圖也可以解釋為一棵樹:

>>> T = nx.path_graph(4)
>>> root = 0
>>> nx.to_nested_tuple(T, root)
((((),),),)

相關用法


注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.algorithms.tree.coding.to_nested_tuple。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。