Documentation for 040237d41a

This commit is contained in:
github-actions
2021-09-12 17:26:07 +00:00
parent c0888e98ed
commit 5a03bb2bc9
54 changed files with 1301 additions and 434 deletions

View File

@@ -138,13 +138,17 @@ Functions</h2></td></tr>
<tr class="memitem:adc68cbc8ba09eb1142265935c0d45b84"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html#adc68cbc8ba09eb1142265935c0d45b84">dijkstra</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; int, int &gt; &gt; &gt; *adj, int s, int t)</td></tr>
<tr class="memdesc:adc68cbc8ba09eb1142265935c0d45b84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function runs the dijkstra algorithm for some source vertex and target vertex in the graph and returns the shortest distance of target from the source. <a href="../../df/dce/namespacegraph.html#adc68cbc8ba09eb1142265935c0d45b84">More...</a><br /></td></tr>
<tr class="separator:adc68cbc8ba09eb1142265935c0d45b84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7706341d006e20d1ae58274187a3346"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html#ab7706341d006e20d1ae58274187a3346">TravellingSalesmanProblem</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; uint32_t &gt; &gt; *cities, int32_t src, uint32_t V)</td></tr>
<tr class="memdesc:ab7706341d006e20d1ae58274187a3346"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function calculates the minimum path distance that will cover all the cities starting from the source. <a href="../../df/dce/namespacegraph.html#ab7706341d006e20d1ae58274187a3346">More...</a><br /></td></tr>
<tr class="separator:ab7706341d006e20d1ae58274187a3346"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p ><a class="el" href="../../dc/d61/classgraph_1_1_graph.html">Graph</a> Algorithms. </p>
<p >for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></p>
<p ><a class="el" href="../../dc/d61/classgraph_1_1_graph.html">Graph</a> algorithms.</p>
<p >for IO operations for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set.html">std::set</a></p>
<p ><a class="el" href="../../dc/d61/classgraph_1_1_graph.html">Graph</a> Algorithms </p>
<p ><a class="el" href="../../dc/d61/classgraph_1_1_graph.html">Graph</a> Algorithms</p>
<p >for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/min.html">std::min</a> for assert for IO operations for limits of integral types for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a> </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a9125ceb66bfbec3093bba64c2c1e99e2" name="a9125ceb66bfbec3093bba64c2c1e99e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9125ceb66bfbec3093bba64c2c1e99e2">&#9670;&nbsp;</a></span>addEdge() <span class="overload">[1/3]</span></h2>
@@ -628,6 +632,91 @@ Here is the call graph for this function:</div>
</div>
</div>
</div>
</div>
<a id="ab7706341d006e20d1ae58274187a3346" name="ab7706341d006e20d1ae58274187a3346"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7706341d006e20d1ae58274187a3346">&#9670;&nbsp;</a></span>TravellingSalesmanProblem()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int graph::TravellingSalesmanProblem </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; uint32_t &gt; &gt; *&#160;</td>
<td class="paramname"><em>cities</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>V</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Function calculates the minimum path distance that will cover all the cities starting from the source. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cities</td><td>matrix representation of cities </td></tr>
<tr><td class="paramname">src</td><td><a class="el" href="../../d8/dc8/struct_point.html">Point</a> from where salesman is starting </td></tr>
<tr><td class="paramname">V</td><td>number of vertices in the graph </td></tr>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> {<span class="comment"></span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="comment"> //// vtx stores the vertexs of the graph</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="comment"></span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint32_t&gt;</a> vtx;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; V; i++) {</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordflow">if</span> (i != src) {</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> vtx.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(i);</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> }</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> }</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="comment"></span> </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="comment"> //// store minimum weight Hamiltonian Cycle.</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="comment"></span> int32_t min_path = 2147483647;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">do</span> {<span class="comment"></span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="comment"> //// store current Path weight(cost)</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="comment"></span> int32_t curr_weight = 0;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="comment"></span> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="comment"> //// compute current path weight</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="comment"></span> <span class="keywordtype">int</span> k = src;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i : vtx) {</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> curr_weight += (*cities)[k][i];</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> k = i;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> }</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> curr_weight += (*cities)[k][src];</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="comment"></span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="comment"> //// update minimum</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="comment"></span> min_path = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/min.html">std::min</a>(min_path, curr_weight);</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> } <span class="keywordflow">while</span> (<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/next_permutation.html">next_permutation</a>(vtx.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), vtx.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>()));</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">return</span> min_path;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span>}</div>
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/begin.html">std::vector::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
<div class="ttc" id="aend_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/end.html">std::vector::end</a></div><div class="ttdeci">T end(T... args)</div></div>
<div class="ttc" id="amin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/min.html">std::min</a></div><div class="ttdeci">T min(T... args)</div></div>
<div class="ttc" id="anext_permutation_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/next_permutation.html">std::next_permutation</a></div><div class="ttdeci">T next_permutation(T... args)</div></div>
<div class="ttc" id="apush_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">std::vector::push_back</a></div><div class="ttdeci">T push_back(T... args)</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph.svg" width="395" height="190"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
</div><!-- contents -->

View File

@@ -29,5 +29,6 @@ var namespacegraph =
[ "dijkstra", "df/dce/namespacegraph.html#adc68cbc8ba09eb1142265935c0d45b84", null ],
[ "explore", "df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8", null ],
[ "explore", "df/dce/namespacegraph.html#a64c1db5aad7502c6f08e4652f6edd463", null ],
[ "getConnectedComponents", "df/dce/namespacegraph.html#a83ab16e96cec644109a58dfc9329bc2b", null ]
[ "getConnectedComponents", "df/dce/namespacegraph.html#a83ab16e96cec644109a58dfc9329bc2b", null ],
[ "TravellingSalesmanProblem", "df/dce/namespacegraph.html#ab7706341d006e20d1ae58274187a3346", null ]
];

View File

@@ -0,0 +1,7 @@
<map id="graph::TravellingSalesmanProblem" name="graph::TravellingSalesmanProblem">
<area shape="rect" id="node1" title="Function calculates the minimum path distance that will cover all the cities starting from the source..." alt="" coords="5,74,185,115"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/begin.html#" title=" " alt="" coords="249,5,373,32"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/end.html#" title=" " alt="" coords="255,56,368,83"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/min.html#" title=" " alt="" coords="277,107,346,133"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/push_back.html#" title=" " alt="" coords="233,157,389,184"/>
</map>

View File

@@ -0,0 +1 @@
9b141b75fd83c17d6f837d29ee123bac

View File

@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: graph::TravellingSalesmanProblem Pages: 1 -->
<svg width="296pt" height="142pt"
viewBox="0.00 0.00 296.00 142.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 138)">
<title>graph::TravellingSalesmanProblem</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-138 292,-138 292,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Function calculates the minimum path distance that will cover all the cities starting from the source...">
<polygon fill="#bfbfbf" stroke="black" points="0,-52 0,-82 135,-82 135,-52 0,-52"/>
<text text-anchor="start" x="8" y="-70" font-family="Helvetica,sans-Serif" font-size="10.00">graph::TravellingSalesman</text>
<text text-anchor="middle" x="67.5" y="-59" font-family="Helvetica,sans-Serif" font-size="10.00">Problem</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/begin.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="183,-114.5 183,-133.5 276,-133.5 276,-114.5 183,-114.5"/>
<text text-anchor="middle" x="229.5" y="-121.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::begin</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M108.3,-82.13C127.23,-89.23 150.22,-97.72 171,-105 176.93,-107.08 183.22,-109.22 189.38,-111.28"/>
<polygon fill="midnightblue" stroke="midnightblue" points="188.29,-114.61 198.88,-114.44 190.5,-107.97 188.29,-114.61"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/end.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="187,-76.5 187,-95.5 272,-95.5 272,-76.5 187,-76.5"/>
<text text-anchor="middle" x="229.5" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::end</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M135.43,-74.95C149.21,-76.58 163.53,-78.28 176.68,-79.85"/>
<polygon fill="midnightblue" stroke="midnightblue" points="176.6,-83.36 186.94,-81.07 177.43,-76.41 176.6,-83.36"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/min.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="203.5,-38.5 203.5,-57.5 255.5,-57.5 255.5,-38.5 203.5,-38.5"/>
<text text-anchor="middle" x="229.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::min</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M135.43,-59.05C155.28,-56.69 176.24,-54.21 193.24,-52.19"/>
<polygon fill="midnightblue" stroke="midnightblue" points="193.74,-55.65 203.26,-51 192.91,-48.7 193.74,-55.65"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="171,-0.5 171,-19.5 288,-19.5 288,-0.5 171,-0.5"/>
<text text-anchor="middle" x="229.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::push_back</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M108.3,-51.87C127.23,-44.77 150.22,-36.28 171,-29 176.93,-26.92 183.22,-24.78 189.38,-22.72"/>
<polygon fill="midnightblue" stroke="midnightblue" points="190.5,-26.03 198.88,-19.56 188.29,-19.39 190.5,-26.03"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB