8000 Generated documentation for e04618b43e0d430d2732546a5660e23c589728a1 · graph-algorithm/maximum-matching@367d932 · GitHub
[go: up one dir, main page]

Skip to content

Commit 367d932

Browse files
Generated documentation for e04618b
1 parent 601e820 commit 367d932

27 files changed

+2497
-403
lines changed

.gitignore

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Logs
2+
logs
3+
*.log
4+
5+
# Runtime data
6+
pids
7+
*.pid
8+
*.seed
9+
10+
# Directory for instrumented libs generated by jscoverage/JSCover
11+
lib-cov
12+
13+
# Coverage directory used by tools like istanbul
14+
coverage
15+
16+
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
17+
.grunt
18+
19+
# Compiled binary addons (http://nodejs.org/api/addons.html)
20+
build/Release
21+
22+
# Dependency directory
23+
# Deployed apps should consider commenting this line out:
24+
# see https://npmjs.org/doc/faq.html#Should-I-check-my-node_modules-folder-into-git
25+
node_modules
26+
27+
# groc
28+
doc
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<!DOCTYPE html><html lang="en"><head><title>001 undirected/offline/algo/eulerian/dup</title></head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"><meta name="groc-relative-root" content="../../../../"><meta name="groc-document-path" content="001 undirected/offline/algo/eulerian/dup"><meta name="groc-project-path" content="js/src/001 undirected/offline/algo/eulerian/dup.js"><meta name="groc-github-url" content="https://github.com/aureooms/js-gn"><link rel="stylesheet" type="text/css" media="all" href="../../../../assets/style.css"><script type="text/javascript" src="../../../../assets/behavior.js"></script><body><div id="meta"><div class="file-path"><a href="https://github.com/aureooms/js-gn/blob/master/js/src/001 undirected/offline/algo/eulerian/dup.js">js/src/001 undirected/offline/algo/eulerian/dup.js</a></div></div><div id="document"><div class="segment"><div class="code"><div class="wrapper"><span class="hljs-keyword">var</span> dup_t = <span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">()</span>{</span>
2+
3+
<span class="hljs-keyword">var</span> dup = <span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">(g, V, m, next, dist, e)</span>{</span>
4+
5+
<span class="hljs-keyword">var</span> i = m.length;
6+
<span class="hljs-keyword">var</span> n = <span class="hljs-number">0</span>;
7+
8+
<span class="hljs-keyword">while</span>(i--){
9+
<span class="hljs-keyword">var</span> u = m[i][<span class="hljs-number">0</span>];
10+
<span class="hljs-keyword">var</span> v = m[i][<span class="hljs-number">1</span>];
11+
12+
<span class="hljs-keyword">while</span>(u !== v){
13+
<span class="hljs-keyword">var</span> t = next[u][v];
14+
e.push(g.eadd(V[u], V[t], dist[u][t]));
15+
u = t;
16+
++n;
17+
}
18+
}
19+
20+
<span class="hljs-keyword">return</span> n;
21+
22+
23+
};
24+
25+
<span class="hljs-keyword">return</span> dup;
26+
27+
};
28+
29+
30+
exports.dup_t = dup_t;</div></div></div></div></body></html>
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
<!DOCTYPE html><html lang="en"><head><title>001 undirected/offline/algo/eulerian/eventour</title></head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"><meta name="groc-relative-root" content="../../../../"><meta name="groc-document-path" content="001 undirected/offline/algo/eulerian/eventour"><meta name="groc-project-path" content="js/src/001 undirected/offline/algo/eulerian/eventour.js"><meta name="groc-github-url" content="https://github.com/aureooms/js-gn"><link rel="stylesheet" type="text/css" media="all" href="../../../../assets/style.css"><script type="text/javascript" src="../../../../assets/behavior.js"></script><body><div id="meta"><div class="file-path"><a href="https://github.com/aureooms/js-gn/blob/master/js/src/001 undirected/offline/algo/eulerian/eventour.js">js/src/001 undirected/offline/algo/eulerian/eventour.js</a></div></div><div id="document"><div class="segment"><div class="code"><div class="wrapper"><span class="hljs-keyword">var</span> eventour_t = <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-params">()</span> {</span></div></div></div><div class="segment"><div class="comments doc-section"><div class="wrapper"><p>Parameters:</p>
2+
<ul>
3+
<li><p><strong>fjfj must be an int.</strong><br/>(dkdj)</p>
4+
</li>
5+
<li><p><strong>g must be a graph.</strong></p>
6+
</li>
7+
<li><p><strong>V must be a vertices.</strong></p>
8+
</li>
9+
<li><p><strong>i must be an index.</strong><br/>(node from where to start the search)</p>
10+
</li>
11+
<li><p><strong>done must be a flag list.</strong><br/>(to label saturated edges)</p>
12+
</li>
13+
<li><p><strong>it must be an iterator list.</strong><br/>(that stores info on already processed edges)</p>
14+
</li>
15+
<li><p><strong>tour must be a list.</strong><br/>(the output tour vertex sequence)</p>
16+
</li>
17+
<li><p><strong>edges must be a list.</strong><br/>(the output tour edges)</p>
18+
</li>
19+
</ul></div></div><div class="code"><div class="wrapper"> <span class="hljs-keyword">var</span> eventour = <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-params">( g, V, i, done, it, tour, edges )</span> {</span>
20+
21+
<span class="hljs-keyword">var</span> u, j, z, r, end;
22+
23+
z = [i, <span class="hljs-number">0</span>];
24+
25+
r = [];
26+
27+
<span class="hljs-keyword">while</span> ( <span class="hljs-literal">true</span> ) {
28+
29+
<span class="hljs-keyword">while</span> ( done[z[<span class="hljs-number">0</span>]] ) {
30+
31+
<span class="hljs-keyword">if</span> ( r.length === <span class="hljs-number">0</span> ) {
32+
<span class="hljs-keyword">return</span>;
33+
}
34+
35+
z = r.pop();
36+
}
37+
38+
i = z[<span class="hljs-number">0</span>];
39+
j = z[<span class="hljs-number">1</span>];
40+
u = V[i];
41+
done[i] = <span class="hljs-literal">true</span>;
42+
43+
<span class="hljs-keyword">while</span> ( <span class="hljs-literal">true</span> ) {
44+
45+
end = <span class="hljs-literal">true</span>;
46+
47+
it[i] = g.eitr( u, <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-params">( e, v )</span> {</span>
48+
49+
<span class="hljs-keyword">if</span> ( e.free ) {
50+
51+
tour.splice(j, <span class="hljs-number">0</span>, i);
52+
edges.splice(j, <span class="hljs-number">0</span>, e);
53+
54+
u = v;
55+
56+
++j;
57+
58+
<span class="hljs-keyword">if</span> ( ! done[u[<span class="hljs-number">0</span>]] ) {
59+
r.push( [u[<span class="hljs-number">0</span>], j] );
60+
}
61+
62+
e.free = <span class="hljs-literal">false</span>;
63+
end = <span class="hljs-literal">false</span>;
64+
i = u[<span class="hljs-number">0</span>];
65+
66+
<span class="hljs-keyword">return</span> <span class="hljs-literal">true</span>;
67+
68+
}
69+
70+
}, it[i] );
71+
72+
<span class="hljs-keyword">if</span> ( end ) {
73+
<span class="hljs-keyword">break</span>;
74+
}
75+
76+
}
77+
}
78+
};
79+
80+
<span class="hljs-keyword">return</span> eventour;
81+
82+
};
83+
84+
exports.eventour_t = eventour_t;</div></div></div></div></body></html>
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<!DOCTYPE html><html lang="en"><head><title>001 undirected/offline/algo/eulerian/oddgraph</title></head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"><meta name="groc-relative-root" content="../../../../"><meta name="groc-document-path" content="001 undirected/offline/algo/eulerian/oddgraph"><meta name="groc-project-path" content="js/src/001 undirected/offline/algo/eulerian/oddgraph.js"><meta name="groc-github-url" content="https://github.com/aureooms/js-gn"><link rel="stylesheet" type="text/css" media="all" href="../../../../assets/style.css"><script type="text/javascript" src="../../../../assets/behavior.js"></script><body><div id="meta"><div class="file-path"><a href="https://github.com/aureooms/js-gn/blob/master/js/src/001 undirected/offline/algo/eulerian/oddgraph.js">js/src/001 undirected/offline/algo/eulerian/oddgraph.js</a></div></div><div id="document"><div class="segment"><div class="code"><div class="wrapper"><span class="hljs-keyword">var</span> oddgraph_t = <span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">()</span>{</span>
2+
3+
<span class="hljs-keyword">var</span> oddgraph = <span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">(g, dist, h)</span>{</span>
4+
5+
<span class="hljs-keyword">var</span> odd = [];
6+
7+
g.vitr(<span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">(v)</span>{</span>
8+
<span class="hljs-keyword">var</span> i = <span class="hljs-number">0</span>;
9+
g.eitr(v, <span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">(_, u)</span>{</span>
10+
i += (u !== v);
11+
});
12+
13+
<span class="hljs-keyword">if</span>(i % <span class="hljs-number">2</span> === <span class="hljs-number">1</span>){
14+
<span class="hljs-keyword">var</span> u = h.vadd(v);
15+
<span class="hljs-keyword">var</span> j = odd.length;
16+
<span class="hljs-keyword">while</span>(j--) h.eadd(u, odd[j], dist[v[<span class="hljs-number">0</span>]][odd[j][<span class="hljs-number">1</span>][<span class="hljs-number">0</span>]]);
17+
odd.push(u);
18+
}
19+
});
20+
21+
};
22+
23+
<span class="hljs-keyword">return</span> oddgraph;
24+
25+
};
26+
27+
exports.oddgraph_t = oddgraph_t;</div></div></div></div></body></html>
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<!DOCTYPE html><html lang="en"><head><title>001 undirected/offline/algo/eulerian/simplegraph</title></head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"><meta name="groc-relative-root" content="../../../../"><meta name="groc-document-path" content="001 undirected/offline/algo/eulerian/simplegraph"><meta name="groc-project-path" content="js/src/001 undirected/offline/algo/eulerian/simplegraph.js"><meta name="groc-github-url" content="https://github.com/aureooms/js-gn"><link rel="stylesheet" type="text/css" media="all" href="../../../../assets/style.css"><script type="text/javascript" src="../../../../assets/behavior.js"></script><body><div id="meta"><div class="file-path"><a href="https://github.com/aureooms/js-gn/blob/master/js/src/001 undirected/offline/algo/eulerian/simplegraph.js">js/src/001 undirected/offline/algo/eulerian/simplegraph.js</a></div></div><div id="document"><div class="segment"><div class="code"><div class="wrapper"><span class="hljs-comment">//ajoute arretes de poids min et retire cycle </span>
2+
3+
4+
5+
<span class="hljs-keyword">var</span> simplegraph_t = <span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">()</span>{</span>
6+
7+
<span class="hljs-keyword">var</span> simplegraph = <span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">(g, order, dist, h)</span>{</span>
8+
<span class="hljs-keyword">var</span> V = [], i, j; <span class="hljs-comment">// link between g and h</span>
9+
10+
g.vitr(<span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">(v)</span>{</span>
11+
12+
i = v[<span class="hljs-number">0</span>]; <span class="hljs-comment">// indice of v in dist</span>
13+
V[i] = h.vadd(v);
14+
15+
g.eitr(v, <span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">(_, u, w)</span>{</span>
16+
17+
j = u[<span class="hljs-number">0</span>];
18+
19+
<span class="hljs-keyword">if</span>(i &gt;= j) <span class="hljs-keyword">return</span>;
20+
21+
<span class="hljs-keyword">if</span> (w &lt; dist[i][j] ){
22+
dist[i][j] = w;
23+
}
24+
});
25+
});
26+
27+
28+
<span class="hljs-keyword">for</span> (i = <span class="hljs-number">0</span>; i &lt; order; ++i){
29+
<span class="hljs-keyword">for</span> (j = i + <span class="hljs-number">1</span>; j &lt; order; ++j){
30+
<span class="hljs-keyword">if</span> ( dist[i][j] &lt; <span class="hljs-literal">Infinity</span> ){
31+
h.eadd( V[i], V[j], dist[i][j] );
32+
}
33+
}
34+
}
35+
36+
<span class="hljs-keyword">return</span> V;
37+
};
38+
39+
<span class="hljs-keyword">return</span> simplegraph;
40+
41+
};
42+
43+
exports.simplegraph_t = simplegraph_t;</div></div></div></div></body></html>

0 commit comments

Comments
 (0)
0