Module Search


module Search: sig .. end
Exploration of Labeled Directed Multi-Graphs.

This module provides a printable type for paths in labeled directed multi-graphs, together with graph exploration algorithms: depth-first search and breadth-first search, forward and backward versions. The exploration functions in this module either extract a path from an initial node to a final node when such a path exists, or return the set of reachable vertices otherwise.

Multi-graphs are described in the documentation of the MultiGraph module.

This module follows an aggressive approach for better performance. All functions perform assertion checking on their arguments, specified in this documentation by the Precondition tag. This assertion checking is implemented with the assert construct, and, hence, it is turned off by the -noassert compiler option.


module type G = sig .. end
Input signature of the functor Search.Make.
module Make: 
functor (G : G) -> sig .. end
Functor providing a printable type for paths together with graph exploration functions for a given multi-graph implementation.