module Make:
Parameters: |
|
module Id:Identifiable.S
typedirected_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