module Digraph:sig..end
Persistent Directed Graphs.
include Persistent.S
Bidirectional graphs use more memory space (at worse the double) that standard concrete directional graphs. But accessing predecessors and removing a vertex are faster.
module ConcreteBidirectional:functor (V:Sig.COMPARABLE) ->Sig.Pwith type V.t = V.t and type V.label = V.t and type E.t = V.t * V.t and type E.label = unit
Imperative Unlabeled, bidirectional graph.
module ConcreteBidirectionalLabeled:functor (V:Sig.COMPARABLE) ->functor (E:Sig.ORDERED_TYPE_DFT) ->Sig.Pwith type V.t = V.t and type V.label = V.t and type E.t = V.t * E.t * V.t and type E.label = E.t
Imperative Labeled and bidirectional graph.