Module Persistent.Digraph

module Digraph: sig .. end

Persistent Directed Graphs.


include Persistent.S

Bidirectional graphs

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.P with 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.P with 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.