有向无环图#

有向无环图 (DAG) 算法。

请注意,这些函数大多数仅保证对 DAG 起作用。一般来说,这些函数不检查是否无环,因此由用户自行检查。

ancestors(G, source)

返回在图 G 中所有能到达 source 的节点。

descendants(G, source)

返回在图 G 中所有能从 source 到达的节点。

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 中的最长路径长度。

dag_to_branching(G)

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

compute_v_structures(G)

生成代表 G 中 v-结构的三节点元组。

colliders(G)

生成代表 G 中对撞子的三节点元组。

v_structures(G)

生成代表 G 中 v-结构的三节点元组。