Strongly\_connected\_components.S(3) OCaml library Strongly\_connected\_components.S(3)

# [NAME](#NAME)

Strongly\_connected\_components.S - no description

# [Module type](#Module_type)

Module type Strongly\_connected\_components.S

# [Documentation](#Documentation)

Module type **S**  
\= **sig end**

*module Id :* **Identifiable.S**

*type directed\_graph* = **Id.Set.t Id.Map.t**

If (a -&gt; 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** **Id.t list**  
| No\_loop **of** **Id.t**

*val connected\_components\_sorted\_from\_roots\_to\_leaf* : **directed\_graph -&gt;** **component array**

*val component\_graph* : **directed\_graph -&gt;** **(component * int list) array**

2026-10-27 OCamldoc

---

Document: Strongly_connected_components.S(3o) from ocaml-4 4.14.4-r4 (Chainguard OS)
Source: https://github.com/ocaml/ocaml
