topological_generations#

topological_generations(G)[源代码]#

将一个DAG分成几代。

拓扑代是保证每代节点的祖先都在上一代,并且保证节点的任何后代都在下一代的节点集合。保证节点处于它们所属的尽可能早的一代。

参数
G网络X有向图

有向无环图(DAG)

产量
节点集

生成表示每个层代的节点集。

加薪
NetworkXError

生成仅为有向图定义。如果该图 G 是无定向的,则为 NetworkXError 都被养大了。

NetworkXUnfeasible

如果 G 不是有向无环图(DAG),不存在拓扑代,并且 NetworkXUnfeasible 引发异常。在以下情况下也可以引发此问题 G 在处理返回的迭代器时更改

RuntimeError

如果 G 在处理返回的迭代器时发生更改。

笔记

也可以通过取从节点到最远的叶节点的最大路径距离来确定节点所在的世代。可以使用此函数使用以下命令获取该值 enumerate(topological_generations(G))

实例

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