mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 11:15:31 -05:00
7 lines
No EOL
8.2 KiB
HTML
7 lines
No EOL
8.2 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Traverse (containers.CCGraph.Traverse)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><meta name="generator" content="doc-ock-html v1.0.0-1-g1fc9bf0"/></head><body><nav id="top"><a href="../index.html">Up</a> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCGraph.Traverse</span></h1></header><div class="spec type" id="type-path"><a href="#type-path" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>('v, 'e) path</code><code><span class="keyword"> = </span>(<span class="type-var">'v</span><span class="keyword"> * </span><span class="type-var">'e</span><span class="keyword"> * </span><span class="type-var">'v</span>) list</code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-generic"><a href="#val-generic" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>generic : tbl:<span class="type-var">'v</span> <a href="../index.html#type-set">set</a> <span class="keyword">‑></span> bag:<span class="type-var">'v</span> <a href="../index.html#type-bag">bag</a> <span class="keyword">‑></span> graph:(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="../index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence_once">sequence_once</a></code></div><div class="doc"><p>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.</p></div></div><div class="spec val" id="val-generic_tag"><a href="#val-generic_tag" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>generic_tag : tags:<span class="type-var">'v</span> <a href="../index.html#type-tag_set">tag_set</a> <span class="keyword">‑></span> bag:<span class="type-var">'v</span> <a href="../index.html#type-bag">bag</a> <span class="keyword">‑></span> graph:(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="../index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence_once">sequence_once</a></code></div><div class="doc"><p>One-shot traversal of the graph using a tag set and the given bag.</p></div></div><div class="spec val" id="val-dfs"><a href="#val-dfs" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>dfs : tbl:<span class="type-var">'v</span> <a href="../index.html#type-set">set</a> <span class="keyword">‑></span> graph:(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="../index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence_once">sequence_once</a></code></div><div class="doc"></div></div><div class="spec val" id="val-dfs_tag"><a href="#val-dfs_tag" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>dfs_tag : tags:<span class="type-var">'v</span> <a href="../index.html#type-tag_set">tag_set</a> <span class="keyword">‑></span> graph:(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="../index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence_once">sequence_once</a></code></div><div class="doc"></div></div><div class="spec val" id="val-bfs"><a href="#val-bfs" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>bfs : tbl:<span class="type-var">'v</span> <a href="../index.html#type-set">set</a> <span class="keyword">‑></span> graph:(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="../index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence_once">sequence_once</a></code></div><div class="doc"></div></div><div class="spec val" id="val-bfs_tag"><a href="#val-bfs_tag" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>bfs_tag : tags:<span class="type-var">'v</span> <a href="../index.html#type-tag_set">tag_set</a> <span class="keyword">‑></span> graph:(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="../index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence_once">sequence_once</a></code></div><div class="doc"></div></div><div class="spec val" id="val-dijkstra"><a href="#val-dijkstra" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>dijkstra : tbl:<span class="type-var">'v</span> <a href="../index.html#type-set">set</a> <span class="keyword">‑></span> ?⁠dist:(<span class="type-var">'e</span> <span class="keyword">‑></span> int) <span class="keyword">‑></span> graph:(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="../index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> (<span class="type-var">'v</span><span class="keyword"> * </span>int<span class="keyword"> * </span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="index.html#type-path">path</a>) <a href="../index.html#type-sequence_once">sequence_once</a></code></div><div class="doc"><p>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).</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">dist</span>: distance from origin of the edge to destination,
|
||
must be strictly positive. Default is 1 for every edge.</li></ul></div></div><div class="spec val" id="val-dijkstra_tag"><a href="#val-dijkstra_tag" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>dijkstra_tag : ?⁠dist:(<span class="type-var">'e</span> <span class="keyword">‑></span> int) <span class="keyword">‑></span> tags:<span class="type-var">'v</span> <a href="../index.html#type-tag_set">tag_set</a> <span class="keyword">‑></span> graph:(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="../index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> (<span class="type-var">'v</span><span class="keyword"> * </span>int<span class="keyword"> * </span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="index.html#type-path">path</a>) <a href="../index.html#type-sequence_once">sequence_once</a></code></div><div class="doc"></div></div><div class="spec module" id="module-Event"><a href="#module-Event" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="Event/index.html">Event</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"><h3>More detailed interface</h3></div></div></body></html> |