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


Python NetworkX all_topological_sorts用法及代码示例


本文简要介绍 networkx.algorithms.dag.all_topological_sorts 的用法。

用法:

all_topological_sorts(G)

返回有向图 G 的_all_拓扑类型的生成器。

拓扑排序是节点的非唯一排列,使得从 u 到 v 的边意味着 u 在拓扑排序顺序中出现在 v 之前。

参数

GNetworkX 有向图

有向图

生成(Yield)

topological_sort_order列表

G 中的节点列表,表示拓扑排序顺序之一

抛出

NetworkXNotImplemented

如果 G 未定向

NetworkXUnfeasible

如果G 不是非循环的

注意

实现 [1] 中给出的算法的迭代版本。

参考

1

Knuth, Donald E., Szwarcfiter, Jayme L. (1974). “A Structured Program to Generate All Topological Sorting Arrangements” Information Processing Letters, Volume 2, Issue 6, 1974, Pages 153-157, ISSN 0020-0190, https://doi.org/10.1016/0020-0190(74)90001-5. Elsevier (North-Holland), Amsterdam

例子

枚举所有拓扑类型的有向图:

>>> DG = nx.DiGraph([(1, 2), (2, 3), (2, 4)])
>>> list(nx.all_topological_sorts(DG))
[[1, 2, 4, 3], [1, 2, 3, 4]]

相关用法


注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.algorithms.dag.all_topological_sorts。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。