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


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。