模組類型 Strongly_connected_components.S

module type S = sig .. end

module Id: Identifiable.S 
type directed_graph = Id.Set.t Id.Map.t 

若 (a -> set) 屬於此映射表,表示存在從 aset 中每個元素的邊。假設沒有邊指向此映射表中未表示的頂點。

type component = 
| Has_loop of Id.t list
| No_loop of Id.t
val connected_components_sorted_from_roots_to_leaf : directed_graph ->
component array
val component_graph : directed_graph ->
(component * int list) array