module Digraph:sig
..end
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.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
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