Directed Acyclic Graphs#

有向无环图(DAG)的算法。

需要注意的是,这些函数大多数仅保证适用于DAG。 通常,这些函数不会检查是否为无环图,因此需要用户自行检查。

ancestors(G, source)

返回在图 G 中存在到达 source 路径的所有节点。

descendants(G, source)

返回从 sourceG 中可达的所有节点。

topological_sort(G)

返回一个按拓扑排序顺序生成节点的生成器。

topological_generations(G)

将DAG分层为代。

all_topological_sorts(G)

返回一个生成器,生成有向图 G 的所有拓扑排序。

lexicographical_topological_sort(G[, key])

生成唯一字典序拓扑排序中的节点。

is_directed_acyclic_graph(G)

如果图 G 是有向无环图(DAG),则返回 True,否则返回 False。

is_aperiodic(G)

如果 G 是无周期的,则返回 True。

transitive_closure(G[, reflexive])

返回图的传递闭包

transitive_closure_dag(G[, topo_order])

返回有向无环图的传递闭包。

transitive_reduction(G)

返回有向图的传递约简

antichains(G[, topo_order])

生成有向无环图(DAG)的反链。

dag_longest_path(G[, weight, ...])

返回有向无环图(DAG)中的最长路径。

dag_longest_path_length(G[, weight, ...])

返回有向无环图中的最长路径长度

dag_to_branching(G)

返回一个分支,表示从给定有向无环图中的根节点到叶节点的所有(重叠的)路径。

compute_v_structures(G)

生成表示图 G 中V结构的三节点元组。

colliders(G)

生成表示图 G 中的碰撞器的 3-节点元组。

v_structures(G)

生成表示图 G 中 V 结构的三元组。