当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。