Module type Sig.GraphAlgo

module type GraphAlgo = sig .. end
Minimal graph signature for classical algorithms.

type t 
type vertex 
val n : t -> int
val iter_vertex : (vertex -> unit) -> t -> unit
val iter_succ : (vertex -> unit) ->
t -> vertex -> unit
module V: Sig.Table  with type key = vertex and type value = vertex
Tables of vertices (to store parent of each vertex for example).
module I: Sig.Table  with type key = vertex and type value = int
Tables of ints (to store a numbering of vertices for example).
val m : t -> int
val string_of_vertex : t -> vertex -> string
The two above functions allow to print progress information during algorithms. (Dummy functions can be provided without altering algorithm correctness.)