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


Python NetworkX transitive_closure_dag用法及代碼示例


本文簡要介紹 networkx.algorithms.dag.transitive_closure_dag 的用法。

用法:

transitive_closure_dag(G, topo_order=None)

返回有向無環圖的傳遞閉包。

此函數比函數 transitive_closure 快,但如果圖形有循環則失敗。

G = (V,E) 的傳遞閉包是一個圖 G+ = (V,E+) 使得對於 V 中的所有 v, w 在 E+ 中存在一條邊 (v, w) 當且僅當存在一個非- G 中從 v 到 w 的空路徑。

參數

GNetworkX 有向圖

有向無環圖 (DAG)

topo_order: list or tuple, optional

G 的拓撲順序(如果沒有,該函數將計算一個)

返回

NetworkX 有向圖

G 的傳遞閉包

拋出

NetworkXNotImplemented

如果 G 未定向

NetworkXUnfeasible

如果G有一個循環

注意

這個算法可能很簡單以至於眾所周知,但我沒有在文獻中找到提及。

例子

>>> DG = nx.DiGraph([(1, 2), (2, 3)])
>>> TC = nx.transitive_closure_dag(DG)
>>> TC.edges()
OutEdgeView([(1, 2), (1, 3), (2, 3)])

相關用法


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