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


Python NetworkX topological_generations用法及代碼示例

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

用法:

topological_generations(G)

將 DAG 分層為幾代。

拓撲代是節點集合,其中每一代節點的祖先都保證在上一代,並且節點的任何後代都保證在下一代。節點保證在它們可以屬於的最早的一代中。

參數

GNetworkX 有向圖

有向無環圖 (DAG)

生成(Yield)

節點集

產生代表每一代的節點集。

拋出

NetworkXError

世代僅針對有向圖定義。如果圖 G 是無向的,則會引發 NetworkXError

NetworkXUnfeasible

如果 G 不是有向無環圖 (DAG),則不存在拓撲生成,並引發 NetworkXUnfeasible 異常。如果在處理返回的迭代器時更改G,也會引發此問題

RuntimeError

如果在處理返回的迭代器時更改了 G

注意

也可以通過從節點到最遠葉節點的max-path-distance來確定節點所在的世代。可以使用此函數使用 enumerate(topological_generations(G)) 獲得該值。

例子

>>> DG = nx.DiGraph([(2, 1), (3, 1)])
>>> [sorted(generation) for generation in nx.topological_generations(DG)]
[[2, 3], [1]]

相關用法


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