mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 03:05:28 -05:00
2 lines
No EOL
7.9 KiB
HTML
2 lines
No EOL
7.9 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Traverse (containers-data.CCGraph.Traverse)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> – <a href="../../index.html">containers-data</a> » <a href="../index.html">CCGraph</a> » Traverse</nav><h1>Module <code>CCGraph.Traverse</code></h1></header><dl><dt class="spec type" id="type-path"><a href="#type-path" class="anchor"></a><code><span class="keyword">type</span> <span>('v, 'e) path</span></code><code> = <span><span>(<span class="type-var">'v</span> * <span class="type-var">'e</span> * <span class="type-var">'v</span>)</span> list</span></code></dt></dl><dl><dt class="spec value" id="val-generic"><a href="#val-generic" class="anchor"></a><code><span class="keyword">val</span> generic : <span>tbl:<span><span class="type-var">'v</span> <a href="../index.html#type-set">set</a></span></span> <span>-></span> <span>bag:<span><span class="type-var">'v</span> <a href="../index.html#type-bag">bag</a></span></span> <span>-></span> <span>graph:<span><span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>)</span> <a href="../index.html#type-t">t</a></span></span> <span>-></span> <span><span class="type-var">'v</span> <a href="../index.html#type-iter">iter</a></span> <span>-></span> <span><span class="type-var">'v</span> <a href="../index.html#type-iter_once">iter_once</a></span></code></dt><dd><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></dd></dl><dl><dt class="spec value" id="val-generic_tag"><a href="#val-generic_tag" class="anchor"></a><code><span class="keyword">val</span> generic_tag : <span>tags:<span><span class="type-var">'v</span> <a href="../index.html#type-tag_set">tag_set</a></span></span> <span>-></span> <span>bag:<span><span class="type-var">'v</span> <a href="../index.html#type-bag">bag</a></span></span> <span>-></span> <span>graph:<span><span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>)</span> <a href="../index.html#type-t">t</a></span></span> <span>-></span> <span><span class="type-var">'v</span> <a href="../index.html#type-iter">iter</a></span> <span>-></span> <span><span class="type-var">'v</span> <a href="../index.html#type-iter_once">iter_once</a></span></code></dt><dd><p>One-shot traversal of the graph using a tag set and the given bag.</p></dd></dl><dl><dt class="spec value" id="val-dfs"><a href="#val-dfs" class="anchor"></a><code><span class="keyword">val</span> dfs : <span>tbl:<span><span class="type-var">'v</span> <a href="../index.html#type-set">set</a></span></span> <span>-></span> <span>graph:<span><span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>)</span> <a href="../index.html#type-t">t</a></span></span> <span>-></span> <span><span class="type-var">'v</span> <a href="../index.html#type-iter">iter</a></span> <span>-></span> <span><span class="type-var">'v</span> <a href="../index.html#type-iter_once">iter_once</a></span></code></dt><dt class="spec value" id="val-dfs_tag"><a href="#val-dfs_tag" class="anchor"></a><code><span class="keyword">val</span> dfs_tag : <span>tags:<span><span class="type-var">'v</span> <a href="../index.html#type-tag_set">tag_set</a></span></span> <span>-></span> <span>graph:<span><span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>)</span> <a href="../index.html#type-t">t</a></span></span> <span>-></span> <span><span class="type-var">'v</span> <a href="../index.html#type-iter">iter</a></span> <span>-></span> <span><span class="type-var">'v</span> <a href="../index.html#type-iter_once">iter_once</a></span></code></dt><dt class="spec value" id="val-bfs"><a href="#val-bfs" class="anchor"></a><code><span class="keyword">val</span> bfs : <span>tbl:<span><span class="type-var">'v</span> <a href="../index.html#type-set">set</a></span></span> <span>-></span> <span>graph:<span><span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>)</span> <a href="../index.html#type-t">t</a></span></span> <span>-></span> <span><span class="type-var">'v</span> <a href="../index.html#type-iter">iter</a></span> <span>-></span> <span><span class="type-var">'v</span> <a href="../index.html#type-iter_once">iter_once</a></span></code></dt><dt class="spec value" id="val-bfs_tag"><a href="#val-bfs_tag" class="anchor"></a><code><span class="keyword">val</span> bfs_tag : <span>tags:<span><span class="type-var">'v</span> <a href="../index.html#type-tag_set">tag_set</a></span></span> <span>-></span> <span>graph:<span><span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>)</span> <a href="../index.html#type-t">t</a></span></span> <span>-></span> <span><span class="type-var">'v</span> <a href="../index.html#type-iter">iter</a></span> <span>-></span> <span><span class="type-var">'v</span> <a href="../index.html#type-iter_once">iter_once</a></span></code></dt><dt class="spec value" id="val-dijkstra"><a href="#val-dijkstra" class="anchor"></a><code><span class="keyword">val</span> dijkstra : <span>tbl:<span><span class="type-var">'v</span> <a href="../index.html#type-set">set</a></span></span> <span>-></span> <span>?⁠dist:<span>(<span class="type-var">'e</span> <span>-></span> int)</span></span> <span>-></span> <span>graph:<span><span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>)</span> <a href="../index.html#type-t">t</a></span></span> <span>-></span> <span><span class="type-var">'v</span> <a href="../index.html#type-iter">iter</a></span> <span>-></span> <span><span>(<span class="type-var">'v</span> * int * <span><span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>)</span> <a href="index.html#type-path">path</a></span>)</span> <a href="../index.html#type-iter_once">iter_once</a></span></code></dt><dd><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><dl><dt>parameter dist</dt><dd><p>distance from origin of the edge to destination, must be strictly positive. Default is 1 for every edge.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-dijkstra_tag"><a href="#val-dijkstra_tag" class="anchor"></a><code><span class="keyword">val</span> dijkstra_tag : <span>?⁠dist:<span>(<span class="type-var">'e</span> <span>-></span> int)</span></span> <span>-></span> <span>tags:<span><span class="type-var">'v</span> <a href="../index.html#type-tag_set">tag_set</a></span></span> <span>-></span> <span>graph:<span><span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>)</span> <a href="../index.html#type-t">t</a></span></span> <span>-></span> <span><span class="type-var">'v</span> <a href="../index.html#type-iter">iter</a></span> <span>-></span> <span><span>(<span class="type-var">'v</span> * int * <span><span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>)</span> <a href="index.html#type-path">path</a></span>)</span> <a href="../index.html#type-iter_once">iter_once</a></span></code></dt></dl><dl><dt class="spec module" id="module-Event"><a href="#module-Event" class="anchor"></a><code><span class="keyword">module</span> <a href="Event/index.html">Event</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl></div></body></html> |