module Traverse: sig
.. end
type ('v, 'e)
path = ('v * 'e * 'v) list
val generic : ?tbl:'v CCGraph.set ->
bag:'v CCGraph.bag ->
graph:('v, 'e) CCGraph.t -> 'v CCGraph.sequence -> 'v CCGraph.sequence_once
Traversal of the given graph, starting from a sequence
of vertices, using the given bag to choose the next vertex to
explore. Each vertex is visited at most once.
val generic_tag : tags:'v CCGraph.tag_set ->
bag:'v CCGraph.bag ->
graph:('v, 'e) CCGraph.t -> 'v CCGraph.sequence -> 'v CCGraph.sequence_once
One-shot traversal of the graph using a tag set and the given bag
val dfs : ?tbl:'v CCGraph.set ->
graph:('v, 'e) CCGraph.t -> 'v CCGraph.sequence -> 'v CCGraph.sequence_once
val dfs_tag : tags:'v CCGraph.tag_set ->
graph:('v, 'e) CCGraph.t -> 'v CCGraph.sequence -> 'v CCGraph.sequence_once
val bfs : ?tbl:'v CCGraph.set ->
graph:('v, 'e) CCGraph.t -> 'v CCGraph.sequence -> 'v CCGraph.sequence_once
val bfs_tag : tags:'v CCGraph.tag_set ->
graph:('v, 'e) CCGraph.t -> 'v CCGraph.sequence -> 'v CCGraph.sequence_once
val dijkstra : ?tbl:'v CCGraph.set ->
?dist:('e -> int) ->
graph:('v, 'e) CCGraph.t ->
'v CCGraph.sequence ->
('v * int * ('v, 'e) path) CCGraph.sequence_once
Dijkstra algorithm, traverses a graph in increasing distance order.
Yields each vertex paired with its distance to the set of initial vertices
(the smallest distance needed to reach the node from the initial vertices)
dist
: distance from origin of the edge to destination,
must be strictly positive. Default is 1 for every edge
val dijkstra_tag : ?dist:('e -> int) ->
tags:'v CCGraph.tag_set ->
graph:('v, 'e) CCGraph.t ->
'v CCGraph.sequence ->
('v * int * ('v, 'e) path) CCGraph.sequence_once
module Event: sig
.. end
More detailed interface