Module type Strongly_connected_components.S
module type S = sig .. end
module Id: Identifiable.S
type directed_graph = Id.Set.t Id.Map.t
If (a -> set) belongs to the map, it means that there are edges from a
to every element of set
. It is assumed that no edge points to a vertex not represented in the map.
type component =
|
| Has_loop of
|
|
| No_loop of
|
val connected_components_sorted_from_roots_to_leaf : directed_graph -> component array
val component_graph : directed_graph -> (component * int list) array