Documentation for c26eea874d

This commit is contained in:
realstealthninja
2025-05-19 11:38:33 +00:00
parent c7a9a42397
commit 14583a2f33
2829 changed files with 30266 additions and 21669 deletions

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: data_structures/list_array.cpp File Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -221,7 +221,7 @@ Algorithm</h3>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -281,7 +281,7 @@ Algorithm</h3>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html">data_structures</a></li><li class="navelem"><a class="el" href="../../d7/d00/list__array_8cpp.html">list_array.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: data_structures/list_array.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -124,12 +124,13 @@ $(function(){initNavTree('d7/d00/list__array_8cpp_source.html','../../'); initRe
<div class="headertitle"><div class="title">list_array.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d00/list__array_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<a href="../../d7/d00/list__array_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &lt;array&gt;</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &lt;cassert&gt;</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include &lt;iostream&gt;</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d5/d3c/namespacedata__structures.html">data_structures</a> {</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d9/d27/namespacelist__array.html">list_array</a> {</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>64_t N&gt;</div>
@@ -164,7 +165,7 @@ $(function(){initNavTree('d7/d00/list__array_8cpp_source.html','../../'); initRe
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">return</span> -1;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> }</div>
</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span></div>
<div class="foldopen" id="foldopen00080" data-start="{" data-end="}">
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="../../d5/dab/structdata__structures_1_1list__array_1_1list.html#ad202ae68fe8d98082afa9dafea9e22b9"> 80</a></span> uint64_t <a class="code hl_function" href="../../d5/dab/structdata__structures_1_1list__array_1_1list.html#ad202ae68fe8d98082afa9dafea9e22b9">LinearSearch</a>(<span class="keyword">const</span> std::array&lt;uint64_t, N&gt; &amp;dataArr,</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">const</span> uint64_t &amp;val)<span class="keyword"> const </span>{</div>
@@ -189,9 +190,9 @@ $(function(){initNavTree('d7/d00/list__array_8cpp_source.html','../../'); initRe
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="comment">// if list is sorted, binary search works efficiently else linear search</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="comment">// is the only option</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">if</span> (isSorted) {</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> pos = <a class="code hl_function" href="../../d5/dab/structdata__structures_1_1list__array_1_1list.html#a412bdb3910181f3c384d86aee7e217cf">BinarySearch</a>(data, 0, top - 1, val);</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> pos = <a class="code hl_function" href="../../d5/dab/structdata__structures_1_1list__array_1_1list.html#a412bdb3910181f3c384d86aee7e217cf">BinarySearch</a>(<a class="code hl_variable" href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a>, 0, top - 1, val);</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> pos = <a class="code hl_function" href="../../d5/dab/structdata__structures_1_1list__array_1_1list.html#ad202ae68fe8d98082afa9dafea9e22b9">LinearSearch</a>(data, val);</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> pos = <a class="code hl_function" href="../../d5/dab/structdata__structures_1_1list__array_1_1list.html#ad202ae68fe8d98082afa9dafea9e22b9">LinearSearch</a>(<a class="code hl_variable" href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a>, val);</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> }</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="comment">// if index is equal to -1 means element does not present</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="comment">// else print the index of that element</span></div>
@@ -203,7 +204,7 @@ $(function(){initNavTree('d7/d00/list__array_8cpp_source.html','../../'); initRe
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="comment">// return the index of element or -1.</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">return</span> pos;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> }</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span></div>
<div class="foldopen" id="foldopen00121" data-start="{" data-end="}">
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"><a class="line" href="../../d5/dab/structdata__structures_1_1list__array_1_1list.html#a133635ad53bd89e3947ca02448819180"> 121</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dab/structdata__structures_1_1list__array_1_1list.html#a133635ad53bd89e3947ca02448819180">sort</a>() {</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="comment">// Going through each element in the list</span></div>
@@ -222,7 +223,7 @@ $(function(){initNavTree('d7/d00/list__array_8cpp_source.html','../../'); initRe
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> isSorted = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> }</div>
</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span></div>
<div class="foldopen" id="foldopen00143" data-start="{" data-end="}">
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"><a class="line" href="../../d5/dab/structdata__structures_1_1list__array_1_1list.html#aa960d714d449612f25256850d72325f1"> 143</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dab/structdata__structures_1_1list__array_1_1list.html#aa960d714d449612f25256850d72325f1">insert</a>(<span class="keyword">const</span> uint64_t &amp;val) {</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="comment">// overflow check</span></div>
@@ -259,7 +260,7 @@ $(function(){initNavTree('d7/d00/list__array_8cpp_source.html','../../'); initRe
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> }</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> }</div>
</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> </div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span></div>
<div class="foldopen" id="foldopen00183" data-start="{" data-end="}">
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"><a class="line" href="../../d5/dab/structdata__structures_1_1list__array_1_1list.html#a98f7d9079c0868e0f4e67d5c52174fb6"> 183</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dab/structdata__structures_1_1list__array_1_1list.html#a98f7d9079c0868e0f4e67d5c52174fb6">remove</a>(<span class="keyword">const</span> uint64_t &amp;val) {</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> uint64_t pos = <a class="code hl_namespace" href="../../d9/dca/namespacesearch.html">search</a>(val); <span class="comment">// search the index of the value</span></div>
@@ -272,12 +273,12 @@ $(function(){initNavTree('d7/d00/list__array_8cpp_source.html','../../'); initRe
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> &lt;&lt; data[pos] &lt;&lt; <span class="stringliteral">&quot; deleted&quot;</span>; <span class="comment">// print the appropriate message</span></div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="comment">// shift all the element 1 left to fill vacant space</span></div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">for</span> (uint64_t i = pos; i &lt; top; i++) {</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <a class="code hl_variable" href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a>[i] = <a class="code hl_variable" href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a>[i + 1];</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> data[i] = data[i + 1];</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> }</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> top--; <span class="comment">// decrement the top variable to maintain last index</span></div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> }</div>
</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> </div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span></div>
<div class="foldopen" id="foldopen00203" data-start="{" data-end="}">
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"><a class="line" href="../../d5/dab/structdata__structures_1_1list__array_1_1list.html#a0b7acf65026df1e9dd13eebf309dda5e"> 203</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dab/structdata__structures_1_1list__array_1_1list.html#a0b7acf65026df1e9dd13eebf309dda5e">show</a>() {</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="comment">// Going through each element in the list</span></div>
@@ -291,7 +292,7 @@ $(function(){initNavTree('d7/d00/list__array_8cpp_source.html','../../'); initRe
</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span>} <span class="comment">// namespace list_array</span></div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span>} <span class="comment">// namespace data_structures</span></div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> </div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span></div>
<div class="foldopen" id="foldopen00218" data-start="{" data-end="}">
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"><a class="line" href="../../d7/d00/list__array_8cpp.html#aa8dca7b867074164d5f45b0f3851269d"> 218</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d7/d00/list__array_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>() {</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <a class="code hl_struct" href="../../d5/dab/structdata__structures_1_1list__array_1_1list.html">data_structures::list_array::list&lt;50&gt;</a> L;</div>
@@ -331,7 +332,7 @@ $(function(){initNavTree('d7/d00/list__array_8cpp_source.html','../../'); initRe
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> assert(L.search(50) == -1); <span class="comment">// search for the non-existing element</span></div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span>}</div>
</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> </div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span></div>
<div class="foldopen" id="foldopen00260" data-start="{" data-end="}">
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"><a class="line" href="../../d7/d00/list__array_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4"> 260</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d7/d00/list__array_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <a class="code hl_function" href="../../d7/d00/list__array_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// Execute the tests</span></div>
@@ -357,7 +358,7 @@ $(function(){initNavTree('d7/d00/list__array_8cpp_source.html','../../'); initRe
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html">data_structures</a></li><li class="navelem"><a class="el" href="../../d7/d00/list__array_8cpp.html">list_array.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: graph/bidirectional_dijkstra.cpp File Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -306,10 +306,10 @@ Variables</h2></td></tr>
<p class="definition">Definition at line <a class="el" href="../../d7/d07/bidirectional__dijkstra_8cpp_source.html#l00087">87</a> of file <a class="el" href="../../d7/d07/bidirectional__dijkstra_8cpp_source.html">bidirectional_dijkstra.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 89</span> {</div>
<div class="line"><span class="lineno"> 91</span> uint64_t n = adj1-&gt;size();</div>
<div class="line"><span class="lineno"> 92</span> </div>
<div class="line"><span class="lineno"> 92</span></div>
<div class="line"><span class="lineno"> 94</span> std::vector&lt;std::vector&lt;uint64_t&gt;&gt; dist(2, std::vector&lt;uint64_t&gt;(n, <a class="code hl_variable" href="#a330a2b0a904f01802ada1f8f3b28e76c">INF</a>));</div>
<div class="line"><span class="lineno"> 95</span> </div>
<div class="line"><span class="lineno"> 99</span> </div>
<div class="line"><span class="lineno"> 95</span></div>
<div class="line"><span class="lineno"> 99</span></div>
<div class="line"><span class="lineno"> 102</span> std::vector&lt;</div>
<div class="line"><span class="lineno"> 103</span> std::priority_queue&lt;std::pair&lt;uint64_t, uint64_t&gt;,</div>
<div class="line"><span class="lineno"> 104</span> std::vector&lt;std::pair&lt;uint64_t, uint64_t&gt;&gt;,</div>
@@ -317,13 +317,13 @@ Variables</h2></td></tr>
<div class="line"><span class="lineno"> 106</span> pq(2);</div>
<div class="line"><span class="lineno"> 108</span> std::vector&lt;uint64_t&gt; workset(n);</div>
<div class="line"><span class="lineno"> 110</span> std::vector&lt;bool&gt; visited(n);</div>
<div class="line"><span class="lineno"> 111</span> </div>
<div class="line"><span class="lineno"> 111</span></div>
<div class="line"><span class="lineno"> 113</span> pq[0].push(std::make_pair(0, s));</div>
<div class="line"><span class="lineno"> 114</span> </div>
<div class="line"><span class="lineno"> 114</span></div>
<div class="line"><span class="lineno"> 116</span> dist[0][s] = 0;</div>
<div class="line"><span class="lineno"> 117</span> </div>
<div class="line"><span class="lineno"> 117</span></div>
<div class="line"><span class="lineno"> 119</span> pq[1].push(std::make_pair(0, t));</div>
<div class="line"><span class="lineno"> 120</span> </div>
<div class="line"><span class="lineno"> 120</span></div>
<div class="line"><span class="lineno"> 122</span> dist[1][t] = 0;</div>
<div class="line"><span class="lineno"> 123</span> </div>
<div class="line"><span class="lineno"> 124</span> <span class="keywordflow">while</span> (<span class="keyword">true</span>) {</div>
@@ -334,11 +334,11 @@ Variables</h2></td></tr>
<div class="line"><span class="lineno"> 130</span> <span class="keywordflow">break</span>;</div>
<div class="line"><span class="lineno"> 131</span> }</div>
<div class="line"><span class="lineno"> 133</span> uint64_t currentNode = pq[0].top().second;</div>
<div class="line"><span class="lineno"> 134</span> </div>
<div class="line"><span class="lineno"> 134</span></div>
<div class="line"><span class="lineno"> 136</span> uint64_t currentDist = pq[0].top().first;</div>
<div class="line"><span class="lineno"> 137</span> </div>
<div class="line"><span class="lineno"> 138</span> pq[0].pop();</div>
<div class="line"><span class="lineno"> 139</span> </div>
<div class="line"><span class="lineno"> 139</span></div>
<div class="line"><span class="lineno"> 142</span> <span class="keywordflow">for</span> (std::pair&lt;int, int&gt; edge : (*adj1)[currentNode]) {</div>
<div class="line"><span class="lineno"> 144</span> <span class="keywordflow">if</span> (currentDist + edge.second &lt; dist[0][edge.first]) {</div>
<div class="line"><span class="lineno"> 145</span> dist[0][edge.first] = currentDist + edge.second;</div>
@@ -347,7 +347,7 @@ Variables</h2></td></tr>
<div class="line"><span class="lineno"> 148</span> }</div>
<div class="line"><span class="lineno"> 149</span> <span class="comment">// store the processed node/ vertex</span></div>
<div class="line"><span class="lineno"> 150</span> workset.push_back(currentNode);</div>
<div class="line"><span class="lineno"> 151</span> </div>
<div class="line"><span class="lineno"> 151</span></div>
<div class="line"><span class="lineno"> 153</span> <span class="keywordflow">if</span> (visited[currentNode] == 1) {</div>
<div class="line"><span class="lineno"> 154</span> <span class="keywordflow">return</span> <a class="code hl_function" href="#a22f1b7277e1dd4190f25014b48487ce6">Shortest_Path_Distance</a>(workset, dist);</div>
<div class="line"><span class="lineno"> 155</span> }</div>
@@ -359,11 +359,11 @@ Variables</h2></td></tr>
<div class="line"><span class="lineno"> 162</span> <span class="keywordflow">break</span>;</div>
<div class="line"><span class="lineno"> 163</span> }</div>
<div class="line"><span class="lineno"> 165</span> currentNode = pq[1].top().second;</div>
<div class="line"><span class="lineno"> 166</span> </div>
<div class="line"><span class="lineno"> 166</span></div>
<div class="line"><span class="lineno"> 168</span> currentDist = pq[1].top().first;</div>
<div class="line"><span class="lineno"> 169</span> </div>
<div class="line"><span class="lineno"> 170</span> pq[1].pop();</div>
<div class="line"><span class="lineno"> 171</span> </div>
<div class="line"><span class="lineno"> 171</span></div>
<div class="line"><span class="lineno"> 174</span> <span class="keywordflow">for</span> (std::pair&lt;int, int&gt; edge : (*adj2)[currentNode]) {</div>
<div class="line"><span class="lineno"> 176</span> <span class="keywordflow">if</span> (currentDist + edge.second &lt; dist[1][edge.first]) {</div>
<div class="line"><span class="lineno"> 177</span> dist[1][edge.first] = currentDist + edge.second;</div>
@@ -372,7 +372,7 @@ Variables</h2></td></tr>
<div class="line"><span class="lineno"> 180</span> }</div>
<div class="line"><span class="lineno"> 181</span> <span class="comment">// store the processed node/ vertex</span></div>
<div class="line"><span class="lineno"> 182</span> workset.push_back(currentNode);</div>
<div class="line"><span class="lineno"> 183</span> </div>
<div class="line"><span class="lineno"> 183</span></div>
<div class="line"><span class="lineno"> 185</span> <span class="keywordflow">if</span> (visited[currentNode] == 1) {</div>
<div class="line"><span class="lineno"> 186</span> <span class="keywordflow">return</span> <a class="code hl_function" href="#a22f1b7277e1dd4190f25014b48487ce6">Shortest_Path_Distance</a>(workset, dist);</div>
<div class="line"><span class="lineno"> 187</span> }</div>
@@ -515,7 +515,7 @@ Variables</h2></td></tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -537,13 +537,13 @@ Variables</h2></td></tr>
<div class="line"><span class="lineno"> 210</span> <a class="code hl_function" href="#a69172365aebde9be1997157f6f80e0cf">graph::bidirectional_dijkstra::addEdge</a>(&amp;adj1_1, &amp;adj1_2, 1, 3, 5);</div>
<div class="line"><span class="lineno"> 211</span> </div>
<div class="line"><span class="lineno"> 212</span> uint64_t s = 1, t = 3;</div>
<div class="line"><span class="lineno"> 213</span> assert(graph::bidirectional_dijkstra::Bidijkstra(&amp;adj1_1, &amp;adj1_2, s - 1,</div>
<div class="line"><span class="lineno"> 213</span> assert(<a class="code hl_function" href="#a1b2df3d52a403ad46523ab90d3a723c1">graph::bidirectional_dijkstra::Bidijkstra</a>(&amp;adj1_1, &amp;adj1_2, s - 1,</div>
<div class="line"><span class="lineno"> 214</span> t - 1) == 3);</div>
<div class="line"><span class="lineno"> 215</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Test 1 Passed...&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 216</span> </div>
<div class="line"><span class="lineno"> 217</span> s = 4, t = 3;</div>
<div class="line"><span class="lineno"> 218</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Initiating Test 2...&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 219</span> assert(graph::bidirectional_dijkstra::Bidijkstra(&amp;adj1_1, &amp;adj1_2, s - 1,</div>
<div class="line"><span class="lineno"> 219</span> assert(<a class="code hl_function" href="#a1b2df3d52a403ad46523ab90d3a723c1">graph::bidirectional_dijkstra::Bidijkstra</a>(&amp;adj1_1, &amp;adj1_2, s - 1,</div>
<div class="line"><span class="lineno"> 220</span> t - 1) == 5);</div>
<div class="line"><span class="lineno"> 221</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Test 2 Passed...&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 222</span> </div>
@@ -563,7 +563,7 @@ Variables</h2></td></tr>
<div class="line"><span class="lineno"> 236</span> </div>
<div class="line"><span class="lineno"> 237</span> s = 1, t = 5;</div>
<div class="line"><span class="lineno"> 238</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Initiating Test 3...&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 239</span> assert(graph::bidirectional_dijkstra::Bidijkstra(&amp;adj2_1, &amp;adj2_2, s - 1,</div>
<div class="line"><span class="lineno"> 239</span> assert(<a class="code hl_function" href="#a1b2df3d52a403ad46523ab90d3a723c1">graph::bidirectional_dijkstra::Bidijkstra</a>(&amp;adj2_1, &amp;adj2_2, s - 1,</div>
<div class="line"><span class="lineno"> 240</span> t - 1) == 6);</div>
<div class="line"><span class="lineno"> 241</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Test 3 Passed...&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 242</span> std::cout &lt;&lt; <span class="stringliteral">&quot;All Test Passed...&quot;</span> &lt;&lt; std::endl &lt;&lt; std::endl;</div>
@@ -587,13 +587,13 @@ Variables</h2></td></tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span> </td>
<span class="mlabels"><span class="mlabel constexpr">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>for assert </p>
<p>for io operations for variable INF for the priority_queue of distances for make_pair function for store the graph, the distances, and the path </p>
<p>for io operations for variable INF for the <a class="el" href="../../d1/d1b/classpriority__queue.html" title="STL class.">priority_queue</a> of distances for make_pair function for store the graph, the distances, and the path </p>
<p class="definition">Definition at line <a class="el" href="../../d7/d07/bidirectional__dijkstra_8cpp_source.html#l00024">24</a> of file <a class="el" href="../../d7/d07/bidirectional__dijkstra_8cpp_source.html">bidirectional_dijkstra.cpp</a>.</p>
@@ -605,7 +605,7 @@ Variables</h2></td></tr>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_12552d7fa429bf94a2e32e5cf39f7e69.html">graph</a></li><li class="navelem"><a class="el" href="../../d7/d07/bidirectional__dijkstra_8cpp.html">bidirectional_dijkstra.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,9 +1,9 @@
var bidirectional__dijkstra_8cpp =
[
[ "addEdge", "d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf", null ],
[ "Bidijkstra", "d7/d07/bidirectional__dijkstra_8cpp.html#a1b2df3d52a403ad46523ab90d3a723c1", null ],
[ "graph::bidirectional_dijkstra::addEdge", "d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf", null ],
[ "graph::bidirectional_dijkstra::Bidijkstra", "d7/d07/bidirectional__dijkstra_8cpp.html#a1b2df3d52a403ad46523ab90d3a723c1", null ],
[ "main", "d7/d07/bidirectional__dijkstra_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ],
[ "Shortest_Path_Distance", "d7/d07/bidirectional__dijkstra_8cpp.html#a22f1b7277e1dd4190f25014b48487ce6", null ],
[ "graph::bidirectional_dijkstra::Shortest_Path_Distance", "d7/d07/bidirectional__dijkstra_8cpp.html#a22f1b7277e1dd4190f25014b48487ce6", null ],
[ "tests", "d7/d07/bidirectional__dijkstra_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e", null ],
[ "INF", "d7/d07/bidirectional__dijkstra_8cpp.html#a330a2b0a904f01802ada1f8f3b28e76c", null ]
];

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: graph/bidirectional_dijkstra.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -124,7 +124,8 @@ $(function(){initNavTree('d7/d07/bidirectional__dijkstra_8cpp_source.html','../.
<div class="headertitle"><div class="title">bidirectional_dijkstra.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d07/bidirectional__dijkstra_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<a href="../../d7/d07/bidirectional__dijkstra_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;cassert&gt;</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &lt;iostream&gt;</span> </div>
@@ -134,7 +135,7 @@ $(function(){initNavTree('d7/d07/bidirectional__dijkstra_8cpp_source.html','../.
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include &lt;vector&gt;</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"><a class="line" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a330a2b0a904f01802ada1f8f3b28e76c"> 24</a></span><span class="keyword">constexpr</span> int64_t <a class="code hl_variable" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a330a2b0a904f01802ada1f8f3b28e76c">INF</a> = std::numeric_limits&lt;int64_t&gt;::max();</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../df/dce/namespacegraph.html">graph</a> {</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d4/d13/namespacebidirectional__dijkstra.html">bidirectional_dijkstra</a> {</div>
<div class="foldopen" id="foldopen00046" data-start="{" data-end="}">
@@ -146,6 +147,7 @@ $(function(){initNavTree('d7/d07/bidirectional__dijkstra_8cpp_source.html','../.
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="comment">// (*adj)[v - 1].push_back(std::make_pair(u - 1, w));</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span>}</div>
</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span></div>
<div class="foldopen" id="foldopen00062" data-start="{" data-end="}">
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a22f1b7277e1dd4190f25014b48487ce6"> 62</a></span>uint64_t <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a22f1b7277e1dd4190f25014b48487ce6">Shortest_Path_Distance</a>(</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">const</span> std::vector&lt;uint64_t&gt; &amp;workset_,</div>
@@ -159,16 +161,16 @@ $(function(){initNavTree('d7/d07/bidirectional__dijkstra_8cpp_source.html','../.
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">return</span> distance;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span>}</div>
</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span></div>
<div class="foldopen" id="foldopen00087" data-start="{" data-end="}">
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a1b2df3d52a403ad46523ab90d3a723c1"> 87</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a1b2df3d52a403ad46523ab90d3a723c1">Bidijkstra</a>(std::vector&lt;std::vector&lt;std::pair&lt;uint64_t, uint64_t&gt;&gt;&gt; *adj1,</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> std::vector&lt;std::vector&lt;std::pair&lt;uint64_t, uint64_t&gt;&gt;&gt; *adj2,</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> uint64_t s, uint64_t t) {</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> uint64_t n = adj1-&gt;size();</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> std::vector&lt;std::vector&lt;uint64_t&gt;&gt; dist(2, std::vector&lt;uint64_t&gt;(n, <a class="code hl_variable" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a330a2b0a904f01802ada1f8f3b28e76c">INF</a>));</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> </div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> std::vector&lt;</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> std::priority_queue&lt;std::pair&lt;uint64_t, uint64_t&gt;,</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> std::vector&lt;std::pair&lt;uint64_t, uint64_t&gt;&gt;,</div>
@@ -176,13 +178,13 @@ $(function(){initNavTree('d7/d07/bidirectional__dijkstra_8cpp_source.html','../.
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> pq(2);</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> std::vector&lt;uint64_t&gt; workset(n);</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> std::vector&lt;bool&gt; visited(n);</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> pq[0].push(std::make_pair(0, s));</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> dist[0][s] = 0;</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> pq[1].push(std::make_pair(0, t));</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span></div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> dist[1][t] = 0;</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">while</span> (<span class="keyword">true</span>) {</div>
@@ -193,11 +195,11 @@ $(function(){initNavTree('d7/d07/bidirectional__dijkstra_8cpp_source.html','../.
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> }</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> uint64_t currentNode = pq[0].top().second;</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> uint64_t currentDist = pq[0].top().first;</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> pq[0].pop();</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span></div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">for</span> (std::pair&lt;int, int&gt; edge : (*adj1)[currentNode]) {</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">if</span> (currentDist + edge.second &lt; dist[0][edge.first]) {</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> dist[0][edge.first] = currentDist + edge.second;</div>
@@ -206,7 +208,7 @@ $(function(){initNavTree('d7/d07/bidirectional__dijkstra_8cpp_source.html','../.
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> }</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="comment">// store the processed node/ vertex</span></div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> workset.push_back(currentNode);</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span></div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">if</span> (visited[currentNode] == 1) {</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a22f1b7277e1dd4190f25014b48487ce6">Shortest_Path_Distance</a>(workset, dist);</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> }</div>
@@ -218,11 +220,11 @@ $(function(){initNavTree('d7/d07/bidirectional__dijkstra_8cpp_source.html','../.
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> }</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> currentNode = pq[1].top().second;</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> </div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span></div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> currentDist = pq[1].top().first;</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> </div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> pq[1].pop();</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> </div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span></div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <span class="keywordflow">for</span> (std::pair&lt;int, int&gt; edge : (*adj2)[currentNode]) {</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">if</span> (currentDist + edge.second &lt; dist[1][edge.first]) {</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> dist[1][edge.first] = currentDist + edge.second;</div>
@@ -231,7 +233,7 @@ $(function(){initNavTree('d7/d07/bidirectional__dijkstra_8cpp_source.html','../.
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> }</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <span class="comment">// store the processed node/ vertex</span></div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> workset.push_back(currentNode);</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> </div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span></div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">if</span> (visited[currentNode] == 1) {</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a22f1b7277e1dd4190f25014b48487ce6">Shortest_Path_Distance</a>(workset, dist);</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> }</div>
@@ -242,7 +244,7 @@ $(function(){initNavTree('d7/d07/bidirectional__dijkstra_8cpp_source.html','../.
</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span>} <span class="comment">// namespace bidirectional_dijkstra</span></div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span>} <span class="comment">// namespace graph</span></div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> </div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span></div>
<div class="foldopen" id="foldopen00200" data-start="{" data-end="}">
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"><a class="line" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e"> 200</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a>() {</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Initiatinig Predefined Tests...&quot;</span> &lt;&lt; std::endl;</div>
@@ -251,19 +253,19 @@ $(function(){initNavTree('d7/d07/bidirectional__dijkstra_8cpp_source.html','../.
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> 4, std::vector&lt;std::pair&lt;uint64_t, uint64_t&gt;&gt;());</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> std::vector&lt;std::vector&lt;std::pair&lt;uint64_t, uint64_t&gt;&gt;&gt; adj1_2(</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> 4, std::vector&lt;std::pair&lt;uint64_t, uint64_t&gt;&gt;());</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> graph::bidirectional_dijkstra::addEdge(&amp;adj1_1, &amp;adj1_2, 1, 2, 1);</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> graph::bidirectional_dijkstra::addEdge(&amp;adj1_1, &amp;adj1_2, 4, 1, 2);</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> graph::bidirectional_dijkstra::addEdge(&amp;adj1_1, &amp;adj1_2, 2, 3, 2);</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> graph::bidirectional_dijkstra::addEdge(&amp;adj1_1, &amp;adj1_2, 1, 3, 5);</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf">graph::bidirectional_dijkstra::addEdge</a>(&amp;adj1_1, &amp;adj1_2, 1, 2, 1);</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf">graph::bidirectional_dijkstra::addEdge</a>(&amp;adj1_1, &amp;adj1_2, 4, 1, 2);</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf">graph::bidirectional_dijkstra::addEdge</a>(&amp;adj1_1, &amp;adj1_2, 2, 3, 2);</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf">graph::bidirectional_dijkstra::addEdge</a>(&amp;adj1_1, &amp;adj1_2, 1, 3, 5);</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> </div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> uint64_t s = 1, t = 3;</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> assert(graph::bidirectional_dijkstra::Bidijkstra(&amp;adj1_1, &amp;adj1_2, s - 1,</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> assert(<a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a1b2df3d52a403ad46523ab90d3a723c1">graph::bidirectional_dijkstra::Bidijkstra</a>(&amp;adj1_1, &amp;adj1_2, s - 1,</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> t - 1) == 3);</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Test 1 Passed...&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> </div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> s = 4, t = 3;</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Initiating Test 2...&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> assert(graph::bidirectional_dijkstra::Bidijkstra(&amp;adj1_1, &amp;adj1_2, s - 1,</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> assert(<a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a1b2df3d52a403ad46523ab90d3a723c1">graph::bidirectional_dijkstra::Bidijkstra</a>(&amp;adj1_1, &amp;adj1_2, s - 1,</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> t - 1) == 5);</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Test 2 Passed...&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> </div>
@@ -271,25 +273,25 @@ $(function(){initNavTree('d7/d07/bidirectional__dijkstra_8cpp_source.html','../.
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> 5, std::vector&lt;std::pair&lt;uint64_t, uint64_t&gt;&gt;());</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> std::vector&lt;std::vector&lt;std::pair&lt;uint64_t, uint64_t&gt;&gt;&gt; adj2_2(</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> 5, std::vector&lt;std::pair&lt;uint64_t, uint64_t&gt;&gt;());</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> graph::bidirectional_dijkstra::addEdge(&amp;adj2_1, &amp;adj2_2, 1, 2, 4);</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> graph::bidirectional_dijkstra::addEdge(&amp;adj2_1, &amp;adj2_2, 1, 3, 2);</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> graph::bidirectional_dijkstra::addEdge(&amp;adj2_1, &amp;adj2_2, 2, 3, 2);</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> graph::bidirectional_dijkstra::addEdge(&amp;adj2_1, &amp;adj2_2, 3, 2, 1);</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> graph::bidirectional_dijkstra::addEdge(&amp;adj2_1, &amp;adj2_2, 2, 4, 2);</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> graph::bidirectional_dijkstra::addEdge(&amp;adj2_1, &amp;adj2_2, 3, 5, 4);</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> graph::bidirectional_dijkstra::addEdge(&amp;adj2_1, &amp;adj2_2, 5, 4, 1);</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> graph::bidirectional_dijkstra::addEdge(&amp;adj2_1, &amp;adj2_2, 2, 5, 3);</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> graph::bidirectional_dijkstra::addEdge(&amp;adj2_1, &amp;adj2_2, 3, 4, 4);</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf">graph::bidirectional_dijkstra::addEdge</a>(&amp;adj2_1, &amp;adj2_2, 1, 2, 4);</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf">graph::bidirectional_dijkstra::addEdge</a>(&amp;adj2_1, &amp;adj2_2, 1, 3, 2);</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf">graph::bidirectional_dijkstra::addEdge</a>(&amp;adj2_1, &amp;adj2_2, 2, 3, 2);</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf">graph::bidirectional_dijkstra::addEdge</a>(&amp;adj2_1, &amp;adj2_2, 3, 2, 1);</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf">graph::bidirectional_dijkstra::addEdge</a>(&amp;adj2_1, &amp;adj2_2, 2, 4, 2);</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf">graph::bidirectional_dijkstra::addEdge</a>(&amp;adj2_1, &amp;adj2_2, 3, 5, 4);</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf">graph::bidirectional_dijkstra::addEdge</a>(&amp;adj2_1, &amp;adj2_2, 5, 4, 1);</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf">graph::bidirectional_dijkstra::addEdge</a>(&amp;adj2_1, &amp;adj2_2, 2, 5, 3);</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf">graph::bidirectional_dijkstra::addEdge</a>(&amp;adj2_1, &amp;adj2_2, 3, 4, 4);</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> </div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> s = 1, t = 5;</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Initiating Test 3...&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> assert(graph::bidirectional_dijkstra::Bidijkstra(&amp;adj2_1, &amp;adj2_2, s - 1,</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> assert(<a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a1b2df3d52a403ad46523ab90d3a723c1">graph::bidirectional_dijkstra::Bidijkstra</a>(&amp;adj2_1, &amp;adj2_2, s - 1,</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> t - 1) == 6);</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Test 3 Passed...&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> std::cout &lt;&lt; <span class="stringliteral">&quot;All Test Passed...&quot;</span> &lt;&lt; std::endl &lt;&lt; std::endl;</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span>}</div>
</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> </div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span></div>
<div class="foldopen" id="foldopen00249" data-start="{" data-end="}">
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"><a class="line" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4"> 249</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a>(); <span class="comment">// running predefined tests</span></div>
@@ -313,7 +315,7 @@ $(function(){initNavTree('d7/d07/bidirectional__dijkstra_8cpp_source.html','../.
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">while</span> (edges--) {</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> std::cin &gt;&gt; u &gt;&gt; v &gt;&gt; w;</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> graph::bidirectional_dijkstra::addEdge(&amp;adj1, &amp;adj2, u, v, w);</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf">graph::bidirectional_dijkstra::addEdge</a>(&amp;adj1, &amp;adj2, u, v, w);</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">if</span> (edges != 0) {</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Enter the next edge&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> }</div>
@@ -328,7 +330,7 @@ $(function(){initNavTree('d7/d07/bidirectional__dijkstra_8cpp_source.html','../.
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> std::cin &gt;&gt; s &gt;&gt; t;</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> <span class="keywordtype">int</span> dist =</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> graph::bidirectional_dijkstra::Bidijkstra(&amp;adj1, &amp;adj2, s - 1, t - 1);</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> <a class="code hl_function" href="../../d7/d07/bidirectional__dijkstra_8cpp.html#a1b2df3d52a403ad46523ab90d3a723c1">graph::bidirectional_dijkstra::Bidijkstra</a>(&amp;adj1, &amp;adj2, s - 1, t - 1);</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">if</span> (dist == -1) {</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Target not reachable from source&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> } <span class="keywordflow">else</span> {</div>
@@ -352,7 +354,7 @@ $(function(){initNavTree('d7/d07/bidirectional__dijkstra_8cpp_source.html','../.
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_12552d7fa429bf94a2e32e5cf39f7e69.html">graph</a></li><li class="navelem"><a class="el" href="../../d7/d07/bidirectional__dijkstra_8cpp.html">bidirectional_dijkstra.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: graph_coloring Namespace Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -135,7 +135,7 @@ $(function(){initNavTree('d7/d08/namespacegraph__coloring.html','../../'); initR
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d7/d08/namespacegraph__coloring.html">graph_coloring</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: trie_using_hashmap Namespace Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -135,7 +135,7 @@ $(function(){initNavTree('d7/d0a/namespacetrie__using__hashmap.html','../../');
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d7/d0a/namespacetrie__using__hashmap.html">trie_using_hashmap</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: data_structures::SkipList Pages: 1 -->
<svg width="316pt" height="194pt"

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: data_structures::SkipList Pages: 1 -->
<svg width="316pt" height="194pt"

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: cpu_scheduling_algorithms/non_preemptive_sjf_scheduling.cpp File Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -157,12 +157,12 @@ Classes</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a18920aa331faf4476b251c8cdb2c2bec" id="r_a18920aa331faf4476b251c8cdb2c2bec"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T , typename E &gt; </td></tr>
<tr class="memitem:a18920aa331faf4476b251c8cdb2c2bec" id="r_a18920aa331faf4476b251c8cdb2c2bec"><td class="memTemplParams" colspan="2">template&lt;typename S, typename T, typename E&gt; </td></tr>
<tr class="memitem:a18920aa331faf4476b251c8cdb2c2bec"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a18920aa331faf4476b251c8cdb2c2bec">sortcol</a> (tuple&lt; S, T, E &gt; &amp;t1, tuple&lt; S, T, E &gt; &amp;t2)</td></tr>
<tr class="memdesc:a18920aa331faf4476b251c8cdb2c2bec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Comparator function for sorting a vector. <br /></td></tr>
<tr class="separator:a18920aa331faf4476b251c8cdb2c2bec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23667f16acc4035988e7cd7ae80b6ff3" id="r_a23667f16acc4035988e7cd7ae80b6ff3"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T , typename E &gt; </td></tr>
<tr class="memitem:a23667f16acc4035988e7cd7ae80b6ff3"><td class="memTemplItemLeft" align="right" valign="top">vector&lt; tuple&lt; S, T, E, double, double, double &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a23667f16acc4035988e7cd7ae80b6ff3">get_final_status</a> (vector&lt; tuple&lt; S, T, E &gt; &gt; input)</td></tr>
<tr class="memitem:a23667f16acc4035988e7cd7ae80b6ff3" id="r_a23667f16acc4035988e7cd7ae80b6ff3"><td class="memTemplParams" colspan="2">template&lt;typename S, typename T, typename E&gt; </td></tr>
<tr class="memitem:a23667f16acc4035988e7cd7ae80b6ff3"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; tuple&lt; S, T, E, double, double, double &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a23667f16acc4035988e7cd7ae80b6ff3">get_final_status</a> (<a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; tuple&lt; S, T, E &gt; &gt; input)</td></tr>
<tr class="memdesc:a23667f16acc4035988e7cd7ae80b6ff3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the final status of processes after applying non-preemptive <a class="el" href="../../d7/d9f/class_s_j_f.html" title="Class which implements the SJF scheduling algorithm.">SJF</a> scheduling. <br /></td></tr>
<tr class="separator:a23667f16acc4035988e7cd7ae80b6ff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8dca7b867074164d5f45b0f3851269d" id="r_aa8dca7b867074164d5f45b0f3851269d"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa8dca7b867074164d5f45b0f3851269d">test</a> ()</td></tr>
@@ -184,12 +184,12 @@ Functions</h2></td></tr>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S , typename T , typename E &gt; </div>
template&lt;typename S, typename T, typename E&gt; </div>
<table class="memname">
<tr>
<td class="memname">vector&lt; tuple&lt; S, T, E, double, double, double &gt; &gt; get_final_status </td>
<td class="memname"><a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; tuple&lt; S, T, E, double, double, double &gt; &gt; get_final_status </td>
<td>(</td>
<td class="paramtype">vector&lt; tuple&lt; S, T, E &gt; &gt;</td> <td class="paramname"><span class="paramname"><em>input</em></span></td><td>)</td>
<td class="paramtype"><a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; tuple&lt; S, T, E &gt; &gt;</td> <td class="paramname"><span class="paramname"><em>input</em></span></td><td>)</td>
<td></td>
</tr>
</table>
@@ -215,7 +215,7 @@ template&lt;typename S , typename T , typename E &gt; </div>
<p class="definition">Definition at line <a class="el" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.html#l00228">228</a> of file <a class="el" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.html">non_preemptive_sjf_scheduling.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 229</span> {</div>
<div class="line"><span class="lineno"> 230</span> <span class="comment">// Sort the processes based on Arrival time and then Burst time</span></div>
<div class="line"><span class="lineno"> 231</span> sort(input.begin(), input.end(), <a class="code hl_function" href="#a18920aa331faf4476b251c8cdb2c2bec">sortcol&lt;S, T, E&gt;</a>);</div>
<div class="line"><span class="lineno"> 231</span> sort(input.begin(), input.end(), <a class="code hl_function" href="../../df/d47/fcfs__scheduling_8cpp.html#a18920aa331faf4476b251c8cdb2c2bec">sortcol&lt;S, T, E&gt;</a>);</div>
<div class="line"><span class="lineno"> 232</span> </div>
<div class="line"><span class="lineno"> 233</span> <span class="comment">// Result vector to hold the final status of each process</span></div>
<div class="line"><span class="lineno"> 234</span> vector&lt;tuple&lt;S, T, E, double, double, double&gt;&gt; <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>(input.size());</div>
@@ -246,8 +246,8 @@ template&lt;typename S , typename T , typename E &gt; </div>
<div class="line"><span class="lineno"> 259</span> </div>
<div class="line"><span class="lineno"> 260</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>;</div>
<div class="line"><span class="lineno"> 261</span>}</div>
<div class="ttc" id="afcfs__scheduling_8cpp_html_a18920aa331faf4476b251c8cdb2c2bec"><div class="ttname"><a href="../../df/d47/fcfs__scheduling_8cpp.html#a18920aa331faf4476b251c8cdb2c2bec">sortcol</a></div><div class="ttdeci">bool sortcol(tuple&lt; S, T, E &gt; &amp;t1, tuple&lt; S, T, E &gt; &amp;t2)</div><div class="ttdoc">Comparator function for sorting a vector.</div><div class="ttdef"><b>Definition</b> <a href="../../df/d47/fcfs__scheduling_8cpp_source.html#l00046">fcfs_scheduling.cpp:46</a></div></div>
<div class="ttc" id="afibonacci__sum_8cpp_html_aadb40ac4c74a7efc0680b83eeee138aa"><div class="ttname"><a href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">math::fibonacci_sum::result</a></div><div class="ttdeci">uint64_t result(uint64_t n)</div><div class="ttdef"><b>Definition</b> <a href="../../de/dc3/fibonacci__sum_8cpp_source.html#l00077">fibonacci_sum.cpp:77</a></div></div>
<div class="ttc" id="anon__preemptive__sjf__scheduling_8cpp_html_a18920aa331faf4476b251c8cdb2c2bec"><div class="ttname"><a href="#a18920aa331faf4476b251c8cdb2c2bec">sortcol</a></div><div class="ttdeci">bool sortcol(tuple&lt; S, T, E &gt; &amp;t1, tuple&lt; S, T, E &gt; &amp;t2)</div><div class="ttdoc">Comparator function for sorting a vector.</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.html#l00045">non_preemptive_sjf_scheduling.cpp:45</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -284,7 +284,7 @@ template&lt;typename S , typename T , typename E &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S , typename T , typename E &gt; </div>
template&lt;typename S, typename T, typename E&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool sortcol </td>
@@ -348,7 +348,7 @@ false if t1 and t2 are in the INCORRECT order </dd></dl>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -401,7 +401,7 @@ false if t1 and t2 are in the INCORRECT order </dd></dl>
<div class="ttc" id="aclass_s_j_f_html"><div class="ttname"><a href="../../d7/d9f/class_s_j_f.html">SJF</a></div><div class="ttdoc">Class which implements the SJF scheduling algorithm.</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.html#l00096">non_preemptive_sjf_scheduling.cpp:96</a></div></div>
<div class="ttc" id="aclass_s_j_f_html_a42d7016523e3adfe5b946fab18ce7905"><div class="ttname"><a href="../../d7/d9f/class_s_j_f.html#a42d7016523e3adfe5b946fab18ce7905">SJF::printResult</a></div><div class="ttdeci">void printResult(const vector&lt; tuple&lt; S, T, E, double, double, double &gt; &gt; &amp;processes)</div><div class="ttdoc">Utility function for printing the status of each process after execution.</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.html#l00197">non_preemptive_sjf_scheduling.cpp:197</a></div></div>
<div class="ttc" id="aclass_s_j_f_html_a61b76afcc94e573d7232ab51c351fd30"><div class="ttname"><a href="../../d7/d9f/class_s_j_f.html#a61b76afcc94e573d7232ab51c351fd30">SJF::scheduleForSJF</a></div><div class="ttdeci">vector&lt; tuple&lt; S, T, E, double, double, double &gt; &gt; scheduleForSJF()</div><div class="ttdoc">Algorithm for scheduling CPU processes according to the Shortest Job First (SJF) scheduling algorithm...</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.html#l00154">non_preemptive_sjf_scheduling.cpp:154</a></div></div>
<div class="ttc" id="aclass_s_j_f_html_af73fe815835075184724a13c12f613ed"><div class="ttname"><a href="../../d7/d9f/class_s_j_f.html#af73fe815835075184724a13c12f613ed">SJF::addProcess</a></div><div class="ttdeci">void addProcess(S id, T arrival, E burst)</div><div class="ttdoc">Adds the process to the ready queue if it isn't already there.</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.html#l00127">non_preemptive_sjf_scheduling.cpp:127</a></div></div>
<div class="ttc" id="aclass_s_j_f_html_af73fe815835075184724a13c12f613ed"><div class="ttname"><a href="../../d7/d9f/class_s_j_f.html#af73fe815835075184724a13c12f613ed">SJF::addProcess</a></div><div class="ttdeci">void addProcess(S id, T arrival, E burst)</div><div class="ttdoc">Adds the process to the ready queue if it isn&#39;t already there.</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.html#l00127">non_preemptive_sjf_scheduling.cpp:127</a></div></div>
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a600eaf353befc174637855795f12d258"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a></div><div class="ttdeci">#define endl</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d35/matrix__exponentiation_8cpp_source.html#l00036">matrix_exponentiation.cpp:36</a></div></div>
</div><!-- fragment -->
</div>
@@ -412,7 +412,7 @@ false if t1 and t2 are in the INCORRECT order </dd></dl>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_cc8e79ed9d2b7756c78e8d0c87c6c0c7.html">cpu_scheduling_algorithms</a></li><li class="navelem"><a class="el" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp.html">non_preemptive_sjf_scheduling.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: cpu_scheduling_algorithms/non_preemptive_sjf_scheduling.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -124,7 +124,8 @@ $(function(){initNavTree('d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.ht
<div class="headertitle"><div class="title">non_preemptive_sjf_scheduling.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<a href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;algorithm&gt;</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;cassert&gt;</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;iomanip&gt;</span> </div>
@@ -144,7 +145,7 @@ $(function(){initNavTree('d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.ht
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="keyword">using </span>std::tuple;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="keyword">using </span>std::unordered_set;</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="keyword">using </span>std::vector;</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> T, <span class="keyword">typename</span> E&gt;</div>
<div class="foldopen" id="foldopen00045" data-start="{" data-end="}">
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp.html#a18920aa331faf4476b251c8cdb2c2bec"> 45</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp.html#a18920aa331faf4476b251c8cdb2c2bec">sortcol</a>(tuple&lt;S, T, E&gt;&amp; t1, tuple&lt;S, T, E&gt;&amp; t2) {</div>
@@ -155,7 +156,7 @@ $(function(){initNavTree('d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.ht
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span>}</div>
</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> T, <span class="keyword">typename</span> E&gt;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="keyword">class </span><a class="code hl_class" href="../../de/d4a/class_compare.html">Compare</a> {</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">public</span>:</div>
@@ -174,7 +175,7 @@ $(function(){initNavTree('d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.ht
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> }</div>
</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span>};</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> T, <span class="keyword">typename</span> E&gt;</div>
<div class="foldopen" id="foldopen00096" data-start="{" data-end="};">
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="../../d7/d9f/class_s_j_f.html"> 96</a></span><span class="keyword">class </span><a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">SJF</a> {</div>
@@ -201,7 +202,8 @@ $(function(){initNavTree('d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.ht
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> }</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> }</div>
</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> </div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span></div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> </div>
<div class="foldopen" id="foldopen00154" data-start="{" data-end="}">
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"><a class="line" href="../../d7/d9f/class_s_j_f.html#a61b76afcc94e573d7232ab51c351fd30"> 154</a></span> vector&lt;tuple&lt;S, T, E, double, double, double&gt;&gt; <a class="code hl_function" href="../../d7/d9f/class_s_j_f.html#a61b76afcc94e573d7232ab51c351fd30">scheduleForSJF</a>() {</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="comment">// Variable to keep track of time elapsed so far</span></div>
@@ -241,6 +243,8 @@ $(function(){initNavTree('d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.ht
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> }</div>
</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span></div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> </div>
<div class="foldopen" id="foldopen00197" data-start="{" data-end="}">
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"><a class="line" href="../../d7/d9f/class_s_j_f.html#a42d7016523e3adfe5b946fab18ce7905"> 197</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d7/d9f/class_s_j_f.html#a42d7016523e3adfe5b946fab18ce7905">printResult</a>(</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <span class="keyword">const</span> vector&lt;tuple&lt;S, T, E, double, double, double&gt;&gt;&amp; processes) {</div>
@@ -262,13 +266,13 @@ $(function(){initNavTree('d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.ht
</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span>};</div>
</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> </div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span></div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> T, <span class="keyword">typename</span> E&gt;</div>
<div class="foldopen" id="foldopen00228" data-start="{" data-end="}">
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"><a class="line" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp.html#a23667f16acc4035988e7cd7ae80b6ff3"> 228</a></span>vector&lt;tuple&lt;S, T, E, double, double, double&gt;&gt; <a class="code hl_function" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp.html#a23667f16acc4035988e7cd7ae80b6ff3">get_final_status</a>(</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> vector&lt;tuple&lt;S, T, E&gt;&gt; input) {</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <span class="comment">// Sort the processes based on Arrival time and then Burst time</span></div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> sort(input.begin(), input.end(), <a class="code hl_function" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp.html#a18920aa331faf4476b251c8cdb2c2bec">sortcol&lt;S, T, E&gt;</a>);</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> sort(input.begin(), input.end(), <a class="code hl_function" href="../../df/d47/fcfs__scheduling_8cpp.html#a18920aa331faf4476b251c8cdb2c2bec">sortcol&lt;S, T, E&gt;</a>);</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> </div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <span class="comment">// Result vector to hold the final status of each process</span></div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> vector&lt;tuple&lt;S, T, E, double, double, double&gt;&gt; result(input.size());</div>
@@ -300,7 +304,7 @@ $(function(){initNavTree('d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.ht
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span>}</div>
</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> </div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span></div>
<div class="foldopen" id="foldopen00267" data-start="{" data-end="}">
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"><a class="line" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp.html#aa8dca7b867074164d5f45b0f3851269d"> 267</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>() {</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <span class="comment">// A vector to store the results of all processes across all test cases.</span></div>
@@ -344,7 +348,7 @@ $(function(){initNavTree('d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.ht
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> cout &lt;&lt; <span class="stringliteral">&quot;All the tests have successfully passed!&quot;</span> &lt;&lt; <a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span>}</div>
</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> </div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span></div>
<div class="foldopen" id="foldopen00313" data-start="{" data-end="}">
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"><a class="line" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4"> 313</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> <a class="code hl_function" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>();</div>
@@ -357,7 +361,8 @@ $(function(){initNavTree('d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.ht
<div class="ttc" id="aclass_s_j_f_html_a42d7016523e3adfe5b946fab18ce7905"><div class="ttname"><a href="../../d7/d9f/class_s_j_f.html#a42d7016523e3adfe5b946fab18ce7905">SJF::printResult</a></div><div class="ttdeci">void printResult(const vector&lt; tuple&lt; S, T, E, double, double, double &gt; &gt; &amp;processes)</div><div class="ttdoc">Utility function for printing the status of each process after execution.</div><div class="ttdef"><b>Definition</b> <a href="#l00197">non_preemptive_sjf_scheduling.cpp:197</a></div></div>
<div class="ttc" id="aclass_s_j_f_html_a61b76afcc94e573d7232ab51c351fd30"><div class="ttname"><a href="../../d7/d9f/class_s_j_f.html#a61b76afcc94e573d7232ab51c351fd30">SJF::scheduleForSJF</a></div><div class="ttdeci">vector&lt; tuple&lt; S, T, E, double, double, double &gt; &gt; scheduleForSJF()</div><div class="ttdoc">Algorithm for scheduling CPU processes according to the Shortest Job First (SJF) scheduling algorithm...</div><div class="ttdef"><b>Definition</b> <a href="#l00154">non_preemptive_sjf_scheduling.cpp:154</a></div></div>
<div class="ttc" id="aclass_s_j_f_html_ac86d31ea081e671adeb82b3f92376fea"><div class="ttname"><a href="../../d7/d9f/class_s_j_f.html#ac86d31ea081e671adeb82b3f92376fea">SJF::schedule</a></div><div class="ttdeci">priority_queue&lt; tuple&lt; S, T, E, double, double, double &gt;, vector&lt; tuple&lt; S, T, E, double, double, double &gt; &gt;, Compare&lt; S, T, E &gt; &gt; schedule</div><div class="ttdef"><b>Definition</b> <a href="#l00110">non_preemptive_sjf_scheduling.cpp:110</a></div></div>
<div class="ttc" id="aclass_s_j_f_html_af73fe815835075184724a13c12f613ed"><div class="ttname"><a href="../../d7/d9f/class_s_j_f.html#af73fe815835075184724a13c12f613ed">SJF::addProcess</a></div><div class="ttdeci">void addProcess(S id, T arrival, E burst)</div><div class="ttdoc">Adds the process to the ready queue if it isn't already there.</div><div class="ttdef"><b>Definition</b> <a href="#l00127">non_preemptive_sjf_scheduling.cpp:127</a></div></div>
<div class="ttc" id="aclass_s_j_f_html_af73fe815835075184724a13c12f613ed"><div class="ttname"><a href="../../d7/d9f/class_s_j_f.html#af73fe815835075184724a13c12f613ed">SJF::addProcess</a></div><div class="ttdeci">void addProcess(S id, T arrival, E burst)</div><div class="ttdoc">Adds the process to the ready queue if it isn&#39;t already there.</div><div class="ttdef"><b>Definition</b> <a href="#l00127">non_preemptive_sjf_scheduling.cpp:127</a></div></div>
<div class="ttc" id="afcfs__scheduling_8cpp_html_a18920aa331faf4476b251c8cdb2c2bec"><div class="ttname"><a href="../../df/d47/fcfs__scheduling_8cpp.html#a18920aa331faf4476b251c8cdb2c2bec">sortcol</a></div><div class="ttdeci">bool sortcol(tuple&lt; S, T, E &gt; &amp;t1, tuple&lt; S, T, E &gt; &amp;t2)</div><div class="ttdoc">Comparator function for sorting a vector.</div><div class="ttdef"><b>Definition</b> <a href="../../df/d47/fcfs__scheduling_8cpp_source.html#l00046">fcfs_scheduling.cpp:46</a></div></div>
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a600eaf353befc174637855795f12d258"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a></div><div class="ttdeci">#define endl</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d35/matrix__exponentiation_8cpp_source.html#l00036">matrix_exponentiation.cpp:36</a></div></div>
<div class="ttc" id="anon__preemptive__sjf__scheduling_8cpp_html_a18920aa331faf4476b251c8cdb2c2bec"><div class="ttname"><a href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp.html#a18920aa331faf4476b251c8cdb2c2bec">sortcol</a></div><div class="ttdeci">bool sortcol(tuple&lt; S, T, E &gt; &amp;t1, tuple&lt; S, T, E &gt; &amp;t2)</div><div class="ttdoc">Comparator function for sorting a vector.</div><div class="ttdef"><b>Definition</b> <a href="#l00045">non_preemptive_sjf_scheduling.cpp:45</a></div></div>
<div class="ttc" id="anon__preemptive__sjf__scheduling_8cpp_html_a23667f16acc4035988e7cd7ae80b6ff3"><div class="ttname"><a href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp.html#a23667f16acc4035988e7cd7ae80b6ff3">get_final_status</a></div><div class="ttdeci">vector&lt; tuple&lt; S, T, E, double, double, double &gt; &gt; get_final_status(vector&lt; tuple&lt; S, T, E &gt; &gt; input)</div><div class="ttdoc">Computes the final status of processes after applying non-preemptive SJF scheduling.</div><div class="ttdef"><b>Definition</b> <a href="#l00228">non_preemptive_sjf_scheduling.cpp:228</a></div></div>
@@ -369,7 +374,7 @@ $(function(){initNavTree('d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.ht
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_cc8e79ed9d2b7756c78e8d0c87c6c0c7.html">cpu_scheduling_algorithms</a></li><li class="navelem"><a class="el" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp.html">non_preemptive_sjf_scheduling.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: Guidelines for reviewers and maintainers</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -143,7 +143,7 @@ $(function(){initNavTree('d7/d1b/md__r_e_v_i_e_w_e_r___c_o_d_e.html','../../');
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: math/realtime_stats.cpp Pages: 1 -->
<svg width="189pt" height="83pt"

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: math/realtime_stats.cpp Pages: 1 -->
<svg width="189pt" height="83pt"

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: Member List</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -138,7 +138,7 @@ $(function(){initNavTree('d2/dc4/classstack__linked_list.html','../../'); initRe
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,9 +4,9 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: Prime factorization</title>
<title>TheAlgorithms/C++: unordered_set&lt; K &gt;::const_reverse_iterator Class Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -95,7 +95,7 @@ $(function() {
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('d7/d7f/section.html','../../'); initResizable(true); });
$(function(){initNavTree('d7/d21/classunordered__set_1_1const__reverse__iterator.html','../../'); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
@@ -120,23 +120,22 @@ $(function(){initNavTree('d7/d7f/section.html','../../'); initResizable(true); }
</div>
</div>
<div><div class="header">
<div class="headertitle"><div class="title">Prime factorization</div></div>
<div class="header">
<div class="headertitle"><div class="title">unordered_set&lt; K &gt;::const_reverse_iterator Class Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><a class="anchor" id="md_math_2_r_e_a_d_m_e"></a></p>
<p>Prime Factorization is a very important and useful technique to factorize any number into its prime factors. It has various applications in the field of number theory.</p>
<p>The method of prime factorization involves two function calls. First: Calculating all the prime number up till a certain range using the standard Sieve of Eratosthenes.</p>
<p>Second: Using the prime numbers to reduce the the given number and thus find all its prime factors.</p>
<p>The complexity of the solution involves approx. O(n logn) in calculating sieve of eratosthenes O(log n) in calculating the prime factors of the number. So in total approx. O(n logn).</p>
<p><b>Requirements: For compile you need the compiler flag for C++ 11</b> </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
<p>STL iterator class.
<a href="#details">More...</a></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>STL iterator class. </p>
</div><hr/>The documentation for this class was generated from the following files:</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="navelem"><a class="el" href="../../d3/d6d/classunordered__set.html">unordered_set</a></li><li class="navelem"><a class="el" href="../../d7/d21/classunordered__set_1_1const__reverse__iterator.html">const_reverse_iterator</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: backtracking/nqueen_print_all_solutions.cpp File Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -313,20 +313,18 @@ template&lt;size_t n&gt; </div>
<p class="definition">Definition at line <a class="el" href="../../d7/d24/nqueen__print__all__solutions_8cpp_source.html#l00081">81</a> of file <a class="el" href="../../d7/d24/nqueen__print__all__solutions_8cpp_source.html">nqueen_print_all_solutions.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 81</span> {</div>
<div class="line"><span class="lineno"> 82</span> <span class="keywordflow">if</span> (col &gt;= n) {</div>
<div class="line"><span class="lineno"> 83</span> <a class="code hl_function" href="../../da/dac/n__queens__all__solution__optimised_8cpp.html#a04090463be4942a69ea91fe7386da905">PrintSol</a>(board);</div>
<div class="line"><span class="lineno"> 83</span> <a class="code hl_function" href="#aebd5e11fab6dab282efccfb61beb0bd9">PrintSol</a>(board);</div>
<div class="line"><span class="lineno"> 84</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 85</span> }</div>
<div class="line"><span class="lineno"> 86</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; n; i++) {</div>
<div class="line"><span class="lineno"> 87</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../da/dac/n__queens__all__solution__optimised_8cpp.html#a9e48455584a4faa33e83dd1891efd9b9">CanIMove</a>(board, i, col)) {</div>
<div class="line"><span class="lineno"> 87</span> <span class="keywordflow">if</span> (CanIMove(board, i, col)) {</div>
<div class="line"><span class="lineno"> 88</span> board[i][col] = 1;</div>
<div class="line"><span class="lineno"> 89</span> <a class="code hl_function" href="../../da/dac/n__queens__all__solution__optimised_8cpp.html#a23c0547e4fd1708e6fb643b08327a60f">NQueenSol</a>(board, col + 1);</div>
<div class="line"><span class="lineno"> 89</span> NQueenSol(board, col + 1);</div>
<div class="line"><span class="lineno"> 90</span> board[i][col] = 0;</div>
<div class="line"><span class="lineno"> 91</span> }</div>
<div class="line"><span class="lineno"> 92</span> }</div>
<div class="line"><span class="lineno"> 93</span>}</div>
<div class="ttc" id="an__queens__all__solution__optimised_8cpp_html_a04090463be4942a69ea91fe7386da905"><div class="ttname"><a href="../../da/dac/n__queens__all__solution__optimised_8cpp.html#a04090463be4942a69ea91fe7386da905">backtracking::n_queens_optimized::PrintSol</a></div><div class="ttdeci">void PrintSol(const std::array&lt; std::array&lt; int, n &gt;, n &gt; &amp;board)</div><div class="ttdef"><b>Definition</b> <a href="../../da/dac/n__queens__all__solution__optimised_8cpp_source.html#l00030">n_queens_all_solution_optimised.cpp:30</a></div></div>
<div class="ttc" id="an__queens__all__solution__optimised_8cpp_html_a23c0547e4fd1708e6fb643b08327a60f"><div class="ttname"><a href="../../da/dac/n__queens__all__solution__optimised_8cpp.html#a23c0547e4fd1708e6fb643b08327a60f">backtracking::n_queens_optimized::NQueenSol</a></div><div class="ttdeci">void NQueenSol(std::array&lt; std::array&lt; int, n &gt;, n &gt; board, int col)</div><div class="ttdef"><b>Definition</b> <a href="../../da/dac/n__queens__all__solution__optimised_8cpp_source.html#l00089">n_queens_all_solution_optimised.cpp:89</a></div></div>
<div class="ttc" id="an__queens__all__solution__optimised_8cpp_html_a9e48455584a4faa33e83dd1891efd9b9"><div class="ttname"><a href="../../da/dac/n__queens__all__solution__optimised_8cpp.html#a9e48455584a4faa33e83dd1891efd9b9">backtracking::n_queens_optimized::CanIMove</a></div><div class="ttdeci">bool CanIMove(const std::array&lt; std::array&lt; int, n &gt;, n &gt; &amp;board, int row, int col)</div><div class="ttdef"><b>Definition</b> <a href="../../da/dac/n__queens__all__solution__optimised_8cpp_source.html#l00059">n_queens_all_solution_optimised.cpp:59</a></div></div>
<div class="ttc" id="anqueen__print__all__solutions_8cpp_html_aebd5e11fab6dab282efccfb61beb0bd9"><div class="ttname"><a href="#aebd5e11fab6dab282efccfb61beb0bd9">backtracking::n_queens_all_solutions::PrintSol</a></div><div class="ttdeci">void PrintSol(const std::array&lt; std::array&lt; int, n &gt;, n &gt; &amp;board)</div><div class="ttdoc">Utility function to print matrix.</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d24/nqueen__print__all__solutions_8cpp_source.html#l00031">nqueen_print_all_solutions.cpp:31</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -380,7 +378,7 @@ template&lt;size_t n&gt; </div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_c11585dfcef32a26e29098facab6c144.html">backtracking</a></li><li class="navelem"><a class="el" href="../../d7/d24/nqueen__print__all__solutions_8cpp.html">nqueen_print_all_solutions.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
var nqueen__print__all__solutions_8cpp =
[
[ "CanIMove", "d7/d24/nqueen__print__all__solutions_8cpp.html#aea343d8a72a39c9a4c0fbcbc362f2648", null ],
[ "backtracking::n_queens_all_solutions::CanIMove", "d7/d24/nqueen__print__all__solutions_8cpp.html#aea343d8a72a39c9a4c0fbcbc362f2648", null ],
[ "main", "d7/d24/nqueen__print__all__solutions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ],
[ "NQueenSol", "d7/d24/nqueen__print__all__solutions_8cpp.html#acc809c055f335011de0d9030034c7108", null ],
[ "PrintSol", "d7/d24/nqueen__print__all__solutions_8cpp.html#aebd5e11fab6dab282efccfb61beb0bd9", null ]
[ "backtracking::n_queens_all_solutions::NQueenSol", "d7/d24/nqueen__print__all__solutions_8cpp.html#acc809c055f335011de0d9030034c7108", null ],
[ "backtracking::n_queens_all_solutions::PrintSol", "d7/d24/nqueen__print__all__solutions_8cpp.html#aebd5e11fab6dab282efccfb61beb0bd9", null ]
];

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: backtracking/nqueen_print_all_solutions.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -124,15 +124,15 @@ $(function(){initNavTree('d7/d24/nqueen__print__all__solutions_8cpp_source.html'
<div class="headertitle"><div class="title">nqueen_print_all_solutions.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d24/nqueen__print__all__solutions_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<a href="../../d7/d24/nqueen__print__all__solutions_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &lt;array&gt;</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &lt;iostream&gt;</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../db/dc0/namespacebacktracking.html">backtracking</a> {</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../df/d44/namespacen__queens__all__solutions.html">n_queens_all_solutions</a> {</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> n&gt;</div>
<div class="foldopen" id="foldopen00031" data-start="{" data-end="}">
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#aebd5e11fab6dab282efccfb61beb0bd9"> 31</a></span><span class="keywordtype">void</span> PrintSol(<span class="keyword">const</span> std::array&lt;std::array&lt;int, n&gt;, n&gt;&amp; board) {</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#aebd5e11fab6dab282efccfb61beb0bd9"> 31</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#aebd5e11fab6dab282efccfb61beb0bd9">PrintSol</a>(<span class="keyword">const</span> std::array&lt;std::array&lt;int, n&gt;, n&gt;&amp; board) {</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; n; i++) {</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; n; j++) {</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> std::cout &lt;&lt; board[i][j] &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
@@ -142,10 +142,10 @@ $(function(){initNavTree('d7/d24/nqueen__print__all__solutions_8cpp_source.html'
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> std::cout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span>}</div>
</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> n&gt;</div>
<div class="foldopen" id="foldopen00051" data-start="{" data-end="}">
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#aea343d8a72a39c9a4c0fbcbc362f2648"> 51</a></span><span class="keywordtype">bool</span> CanIMove(<span class="keyword">const</span> std::array&lt;std::array&lt;int, n&gt;, n&gt;&amp; board, <span class="keywordtype">int</span> row,</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#aea343d8a72a39c9a4c0fbcbc362f2648"> 51</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#aea343d8a72a39c9a4c0fbcbc362f2648">CanIMove</a>(<span class="keyword">const</span> std::array&lt;std::array&lt;int, n&gt;, n&gt;&amp; board, <span class="keywordtype">int</span> row,</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">int</span> col) {</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; col; i++) {</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">if</span> (board[row][i] == 1) {</div>
@@ -165,18 +165,18 @@ $(function(){initNavTree('d7/d24/nqueen__print__all__solutions_8cpp_source.html'
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span>}</div>
</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> n&gt;</div>
<div class="foldopen" id="foldopen00081" data-start="{" data-end="}">
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#acc809c055f335011de0d9030034c7108"> 81</a></span><span class="keywordtype">void</span> NQueenSol(std::array&lt;std::array&lt;int, n&gt;, n&gt; board, <span class="keywordtype">int</span> col) {</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#acc809c055f335011de0d9030034c7108"> 81</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#acc809c055f335011de0d9030034c7108">NQueenSol</a>(std::array&lt;std::array&lt;int, n&gt;, n&gt; board, <span class="keywordtype">int</span> col) {</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordflow">if</span> (col &gt;= n) {</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> PrintSol(board);</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <a class="code hl_function" href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#aebd5e11fab6dab282efccfb61beb0bd9">PrintSol</a>(board);</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> }</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; n; i++) {</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keywordflow">if</span> (CanIMove(board, i, col)) {</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#aea343d8a72a39c9a4c0fbcbc362f2648">CanIMove</a>(board, i, col)) {</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> board[i][col] = 1;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> NQueenSol(board, col + 1);</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <a class="code hl_function" href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#acc809c055f335011de0d9030034c7108">NQueenSol</a>(board, col + 1);</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> board[i][col] = 0;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> }</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> }</div>
@@ -184,25 +184,28 @@ $(function(){initNavTree('d7/d24/nqueen__print__all__solutions_8cpp_source.html'
</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span>} <span class="comment">// namespace n_queens_all_solutions</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span>} <span class="comment">// namespace backtracking</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span></div>
<div class="foldopen" id="foldopen00101" data-start="{" data-end="}">
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4"> 101</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n = 4;</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> std::array&lt;std::array&lt;int, n&gt;, n&gt; board{0};</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> backtracking::n_queens_all_solutions::NQueenSol(board, 0);</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <a class="code hl_function" href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#acc809c055f335011de0d9030034c7108">backtracking::n_queens_all_solutions::NQueenSol</a>(board, 0);</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span>}</div>
</div>
<div class="ttc" id="anamespacebacktracking_html"><div class="ttname"><a href="../../db/dc0/namespacebacktracking.html">backtracking</a></div><div class="ttdoc">for vector container</div></div>
<div class="ttc" id="anamespacen__queens__all__solutions_html"><div class="ttname"><a href="../../df/d44/namespacen__queens__all__solutions.html">n_queens_all_solutions</a></div><div class="ttdoc">Functions for the Eight Queens puzzle with all solutions.</div></div>
<div class="ttc" id="anqueen__print__all__solutions_8cpp_html_acc809c055f335011de0d9030034c7108"><div class="ttname"><a href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#acc809c055f335011de0d9030034c7108">backtracking::n_queens_all_solutions::NQueenSol</a></div><div class="ttdeci">void NQueenSol(std::array&lt; std::array&lt; int, n &gt;, n &gt; board, int col)</div><div class="ttdoc">Main function to solve the N Queens problem.</div><div class="ttdef"><b>Definition</b> <a href="#l00081">nqueen_print_all_solutions.cpp:81</a></div></div>
<div class="ttc" id="anqueen__print__all__solutions_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdoc">Main function.</div><div class="ttdef"><b>Definition</b> <a href="#l00101">nqueen_print_all_solutions.cpp:101</a></div></div>
<div class="ttc" id="anqueen__print__all__solutions_8cpp_html_aea343d8a72a39c9a4c0fbcbc362f2648"><div class="ttname"><a href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#aea343d8a72a39c9a4c0fbcbc362f2648">backtracking::n_queens_all_solutions::CanIMove</a></div><div class="ttdeci">bool CanIMove(const std::array&lt; std::array&lt; int, n &gt;, n &gt; &amp;board, int row, int col)</div><div class="ttdoc">Check if a queen can be placed on the matrix.</div><div class="ttdef"><b>Definition</b> <a href="#l00051">nqueen_print_all_solutions.cpp:51</a></div></div>
<div class="ttc" id="anqueen__print__all__solutions_8cpp_html_aebd5e11fab6dab282efccfb61beb0bd9"><div class="ttname"><a href="../../d7/d24/nqueen__print__all__solutions_8cpp.html#aebd5e11fab6dab282efccfb61beb0bd9">backtracking::n_queens_all_solutions::PrintSol</a></div><div class="ttdeci">void PrintSol(const std::array&lt; std::array&lt; int, n &gt;, n &gt; &amp;board)</div><div class="ttdoc">Utility function to print matrix.</div><div class="ttdef"><b>Definition</b> <a href="#l00031">nqueen_print_all_solutions.cpp:31</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_c11585dfcef32a26e29098facab6c144.html">backtracking</a></li><li class="navelem"><a class="el" href="../../d7/d24/nqueen__print__all__solutions_8cpp.html">nqueen_print_all_solutions.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: data_structures/avltree.cpp Pages: 1 -->
<svg width="196pt" height="83pt"

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: data_structures/avltree.cpp Pages: 1 -->
<svg width="196pt" height="83pt"

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: queue&lt; ValueType &gt; Pages: 1 -->
<svg width="160pt" height="249pt"

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: queue&lt; ValueType &gt; Pages: 1 -->
<svg width="160pt" height="249pt"

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: others/matrix_exponentiation.cpp File Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -154,9 +154,9 @@ Macros</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a357cfbebfdc47a237a2862fe146af252" id="r_a357cfbebfdc47a237a2862fe146af252"><td class="memItemLeft" align="right" valign="top">vector&lt; vector&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a357cfbebfdc47a237a2862fe146af252">multiply</a> (const vector&lt; vector&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt; &amp;A, const vector&lt; vector&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt; &amp;B)</td></tr>
<tr class="memitem:a357cfbebfdc47a237a2862fe146af252" id="r_a357cfbebfdc47a237a2862fe146af252"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a357cfbebfdc47a237a2862fe146af252">multiply</a> (const <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt; &amp;A, const <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt; &amp;B)</td></tr>
<tr class="separator:a357cfbebfdc47a237a2862fe146af252"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a702a9fc90e79b05b863cc4efa26ae2ec" id="r_a702a9fc90e79b05b863cc4efa26ae2ec"><td class="memItemLeft" align="right" valign="top">vector&lt; vector&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a702a9fc90e79b05b863cc4efa26ae2ec">power</a> (const vector&lt; vector&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt; &amp;A, <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> p)</td></tr>
<tr class="memitem:a702a9fc90e79b05b863cc4efa26ae2ec" id="r_a702a9fc90e79b05b863cc4efa26ae2ec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a702a9fc90e79b05b863cc4efa26ae2ec">power</a> (const <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt; &amp;A, <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> p)</td></tr>
<tr class="separator:a702a9fc90e79b05b863cc4efa26ae2ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8389ed58fd0ec66df248014775ad1fa" id="r_ad8389ed58fd0ec66df248014775ad1fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad8389ed58fd0ec66df248014775ad1fa">ans</a> (<a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> n)</td></tr>
<tr class="separator:ad8389ed58fd0ec66df248014775ad1fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -167,9 +167,9 @@ Functions</h2></td></tr>
Variables</h2></td></tr>
<tr class="memitem:a9977ad12548c4a49dee9dc3f0685aa54" id="r_a9977ad12548c4a49dee9dc3f0685aa54"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a></td></tr>
<tr class="separator:a9977ad12548c4a49dee9dc3f0685aa54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35b7c98af53ad2ec18658679ad7d43de" id="r_a35b7c98af53ad2ec18658679ad7d43de"><td class="memItemLeft" align="right" valign="top">vector&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a35b7c98af53ad2ec18658679ad7d43de">fib_b</a></td></tr>
<tr class="memitem:a35b7c98af53ad2ec18658679ad7d43de" id="r_a35b7c98af53ad2ec18658679ad7d43de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a35b7c98af53ad2ec18658679ad7d43de">fib_b</a></td></tr>
<tr class="separator:a35b7c98af53ad2ec18658679ad7d43de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cbd1162483ef7eccd5b947b2e01b1ab" id="r_a0cbd1162483ef7eccd5b947b2e01b1ab"><td class="memItemLeft" align="right" valign="top">vector&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0cbd1162483ef7eccd5b947b2e01b1ab">fib_c</a></td></tr>
<tr class="memitem:a0cbd1162483ef7eccd5b947b2e01b1ab" id="r_a0cbd1162483ef7eccd5b947b2e01b1ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0cbd1162483ef7eccd5b947b2e01b1ab">fib_c</a></td></tr>
<tr class="separator:a0cbd1162483ef7eccd5b947b2e01b1ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
@@ -290,12 +290,12 @@ This way you can find the \(10^{18}\) fibonacci numberMOD. I have given a genera
<div class="line"><span class="lineno"> 95</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="#a35b7c98af53ad2ec18658679ad7d43de">fib_b</a>[n - 1];</div>
<div class="line"><span class="lineno"> 96</span> <span class="comment">// F1</span></div>
<div class="line"><span class="lineno"> 97</span> vector&lt;ll&gt; F1(<a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> + 1);</div>
<div class="line"><span class="lineno"> 98</span> <span class="keywordflow">for</span> (ll i = 1; i &lt;= <a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) F1[i] = <a class="code hl_variable" href="#a35b7c98af53ad2ec18658679ad7d43de">fib_b</a>[i - 1];</div>
<div class="line"><span class="lineno"> 98</span> <span class="keywordflow">for</span> (<a class="code hl_define" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> i = 1; i &lt;= <a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) F1[i] = <a class="code hl_variable" href="#a35b7c98af53ad2ec18658679ad7d43de">fib_b</a>[i - 1];</div>
<div class="line"><span class="lineno"> 99</span> </div>
<div class="line"><span class="lineno"> 100</span> <span class="comment">// Transpose matrix</span></div>
<div class="line"><span class="lineno"> 101</span> vector&lt;vector&lt;ll&gt;&gt; T(<a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> + 1, vector&lt;ll&gt;(<a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> + 1));</div>
<div class="line"><span class="lineno"> 102</span> <span class="keywordflow">for</span> (ll i = 1; i &lt;= <a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) {</div>
<div class="line"><span class="lineno"> 103</span> <span class="keywordflow">for</span> (ll j = 1; j &lt;= <a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; j++) {</div>
<div class="line"><span class="lineno"> 102</span> <span class="keywordflow">for</span> (<a class="code hl_define" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> i = 1; i &lt;= <a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) {</div>
<div class="line"><span class="lineno"> 103</span> <span class="keywordflow">for</span> (<a class="code hl_define" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> j = 1; j &lt;= <a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; j++) {</div>
<div class="line"><span class="lineno"> 104</span> <span class="keywordflow">if</span> (i &lt; <a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>) {</div>
<div class="line"><span class="lineno"> 105</span> <span class="keywordflow">if</span> (j == i + 1)</div>
<div class="line"><span class="lineno"> 106</span> T[i][j] = 1;</div>
@@ -310,8 +310,8 @@ This way you can find the \(10^{18}\) fibonacci numberMOD. I have given a genera
<div class="line"><span class="lineno"> 115</span> T = <a class="code hl_function" href="#a702a9fc90e79b05b863cc4efa26ae2ec">power</a>(T, n - 1);</div>
<div class="line"><span class="lineno"> 116</span> </div>
<div class="line"><span class="lineno"> 117</span> <span class="comment">// T*F1</span></div>
<div class="line"><span class="lineno"> 118</span> ll res = 0;</div>
<div class="line"><span class="lineno"> 119</span> <span class="keywordflow">for</span> (ll i = 1; i &lt;= <a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) {</div>
<div class="line"><span class="lineno"> 118</span> <a class="code hl_define" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> res = 0;</div>
<div class="line"><span class="lineno"> 119</span> <span class="keywordflow">for</span> (<a class="code hl_define" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> i = 1; i &lt;= <a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) {</div>
<div class="line"><span class="lineno"> 120</span> res = (res + (T[1][i] * F1[i]) % MOD) % MOD;</div>
<div class="line"><span class="lineno"> 121</span> }</div>
<div class="line"><span class="lineno"> 122</span> <span class="keywordflow">return</span> res;</div>
@@ -319,6 +319,7 @@ This way you can find the \(10^{18}\) fibonacci numberMOD. I have given a genera
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a35b7c98af53ad2ec18658679ad7d43de"><div class="ttname"><a href="#a35b7c98af53ad2ec18658679ad7d43de">fib_b</a></div><div class="ttdeci">vector&lt; ll &gt; fib_b</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d35/matrix__exponentiation_8cpp_source.html#l00050">matrix_exponentiation.cpp:50</a></div></div>
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a702a9fc90e79b05b863cc4efa26ae2ec"><div class="ttname"><a href="#a702a9fc90e79b05b863cc4efa26ae2ec">power</a></div><div class="ttdeci">vector&lt; vector&lt; ll &gt; &gt; power(const vector&lt; vector&lt; ll &gt; &gt; &amp;A, ll p)</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d35/matrix__exponentiation_8cpp_source.html#l00076">matrix_exponentiation.cpp:76</a></div></div>
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a9977ad12548c4a49dee9dc3f0685aa54"><div class="ttname"><a href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a></div><div class="ttdeci">ll mat_size</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d35/matrix__exponentiation_8cpp_source.html#l00045">matrix_exponentiation.cpp:45</a></div></div>
<div class="ttc" id="amatrix__exponentiation_8cpp_html_ae1d1ec9482079231e898236e2b23c9ba"><div class="ttname"><a href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a></div><div class="ttdeci">#define ll</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d35/matrix__exponentiation_8cpp_source.html#l00033">matrix_exponentiation.cpp:33</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -342,9 +343,9 @@ This way you can find the \(10^{18}\) fibonacci numberMOD. I have given a genera
<div class="fragment"><div class="line"><span class="lineno"> 126</span> {</div>
<div class="line"><span class="lineno"> 127</span> cin.tie(0);</div>
<div class="line"><span class="lineno"> 128</span> cout.tie(0);</div>
<div class="line"><span class="lineno"> 129</span> ll t;</div>
<div class="line"><span class="lineno"> 129</span> <a class="code hl_define" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> t;</div>
<div class="line"><span class="lineno"> 130</span> cin &gt;&gt; t;</div>
<div class="line"><span class="lineno"> 131</span> ll i, j, x;</div>
<div class="line"><span class="lineno"> 131</span> <a class="code hl_define" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> i, j, x;</div>
<div class="line"><span class="lineno"> 132</span> <span class="keywordflow">while</span> (t--) {</div>
<div class="line"><span class="lineno"> 133</span> cin &gt;&gt; <a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>;</div>
<div class="line"><span class="lineno"> 134</span> <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) {</div>
@@ -373,21 +374,21 @@ This way you can find the \(10^{18}\) fibonacci numberMOD. I have given a genera
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">vector&lt; vector&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt; multiply </td>
<td class="memname"><a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt; multiply </td>
<td>(</td>
<td class="paramtype">const vector&lt; vector&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>A</em></span>, </td>
<td class="paramtype">const <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>A</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const vector&lt; vector&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>B</em></span>&#160;)</td>
<td class="paramtype">const <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>B</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>To multiply 2 matrices </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">A</td><td>matrix 1 of size (m \(\times\)n) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">B</td><td><code>matrix</code> 2 of size (p \(\times\)q)<br />
<tr><td class="paramdir">[in]</td><td class="paramname">B</td><td><code class="param">matrix</code> 2 of size (p \(\times\)q)<br />
</td></tr>
</table>
</dd>
@@ -398,9 +399,9 @@ This way you can find the \(10^{18}\) fibonacci numberMOD. I have given a genera
<p class="definition">Definition at line <a class="el" href="../../d7/d35/matrix__exponentiation_8cpp_source.html#l00057">57</a> of file <a class="el" href="../../d7/d35/matrix__exponentiation_8cpp_source.html">matrix_exponentiation.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 58</span> {</div>
<div class="line"><span class="lineno"> 59</span> vector&lt;vector&lt;ll&gt;&gt; C(<a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> + 1, vector&lt;ll&gt;(<a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> + 1));</div>
<div class="line"><span class="lineno"> 60</span> <span class="keywordflow">for</span> (ll i = 1; i &lt;= <a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) {</div>
<div class="line"><span class="lineno"> 61</span> <span class="keywordflow">for</span> (ll j = 1; j &lt;= <a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; j++) {</div>
<div class="line"><span class="lineno"> 62</span> <span class="keywordflow">for</span> (ll z = 1; z &lt;= <a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; z++) {</div>
<div class="line"><span class="lineno"> 60</span> <span class="keywordflow">for</span> (<a class="code hl_define" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> i = 1; i &lt;= <a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) {</div>
<div class="line"><span class="lineno"> 61</span> <span class="keywordflow">for</span> (<a class="code hl_define" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> j = 1; j &lt;= <a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; j++) {</div>
<div class="line"><span class="lineno"> 62</span> <span class="keywordflow">for</span> (<a class="code hl_define" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> z = 1; z &lt;= <a class="code hl_variable" href="#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; z++) {</div>
<div class="line"><span class="lineno"> 63</span> C[i][j] = (C[i][j] + (A[i][z] * B[z][j]) % MOD) % MOD;</div>
<div class="line"><span class="lineno"> 64</span> }</div>
<div class="line"><span class="lineno"> 65</span> }</div>
@@ -417,9 +418,9 @@ This way you can find the \(10^{18}\) fibonacci numberMOD. I have given a genera
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">vector&lt; vector&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt; power </td>
<td class="memname"><a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt; power </td>
<td>(</td>
<td class="paramtype">const vector&lt; vector&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>A</em></span>, </td>
<td class="paramtype">const <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; <a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a> &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>A</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -461,7 +462,7 @@ This way you can find the \(10^{18}\) fibonacci numberMOD. I have given a genera
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">vector&lt;<a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a>&gt; fib_b</td>
<td class="memname"><a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt;<a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a>&gt; fib_b</td>
</tr>
</table>
</div><div class="memdoc">
@@ -478,7 +479,7 @@ This way you can find the \(10^{18}\) fibonacci numberMOD. I have given a genera
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">vector&lt;<a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a>&gt; fib_c</td>
<td class="memname"><a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt;<a class="el" href="#ae1d1ec9482079231e898236e2b23c9ba">ll</a>&gt; fib_c</td>
</tr>
</table>
</div><div class="memdoc">
@@ -510,7 +511,7 @@ This way you can find the \(10^{18}\) fibonacci numberMOD. I have given a genera
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_9510827d0b234b3cc54b29892f217477.html">others</a></li><li class="navelem"><a class="el" href="../../d7/d35/matrix__exponentiation_8cpp.html">matrix_exponentiation.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: others/matrix_exponentiation.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -124,32 +124,33 @@ $(function(){initNavTree('d7/d35/matrix__exponentiation_8cpp_source.html','../..
<div class="headertitle"><div class="title">matrix_exponentiation.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d35/matrix__exponentiation_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<a href="../../d7/d35/matrix__exponentiation_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="keyword">using </span>std::cin;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="keyword">using </span>std::cout;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="keyword">using </span>std::vector;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="../../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba"> 33</a></span><span class="preprocessor">#define ll int64_t</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258"> 36</a></span><span class="preprocessor">#define endl std::endl</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="../../d7/d35/matrix__exponentiation_8cpp.html#a276c5a0e984cf60015b27252fe04fe6b"> 39</a></span><span class="preprocessor">#define pb push_back</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor">#define MOD 1000000007</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54"> 45</a></span>ll <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54"> 45</a></span><a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba">ll</a> <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="../../d7/d35/matrix__exponentiation_8cpp.html#a35b7c98af53ad2ec18658679ad7d43de"> 50</a></span>vector&lt;ll&gt; <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a35b7c98af53ad2ec18658679ad7d43de">fib_b</a>, fib_c;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span></div>
<div class="foldopen" id="foldopen00057" data-start="{" data-end="}">
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="../../d7/d35/matrix__exponentiation_8cpp.html#a357cfbebfdc47a237a2862fe146af252"> 57</a></span>vector&lt;vector&lt;ll&gt;&gt; <a class="code hl_function" href="../../d7/d35/matrix__exponentiation_8cpp.html#a357cfbebfdc47a237a2862fe146af252">multiply</a>(<span class="keyword">const</span> vector&lt;vector&lt;ll&gt;&gt; &amp;A,</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">const</span> vector&lt;vector&lt;ll&gt;&gt; &amp;B) {</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> vector&lt;vector&lt;ll&gt;&gt; C(<a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> + 1, vector&lt;ll&gt;(<a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> + 1));</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">for</span> (ll i = 1; i &lt;= <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) {</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">for</span> (ll j = 1; j &lt;= <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; j++) {</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">for</span> (ll z = 1; z &lt;= <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; z++) {</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">for</span> (<a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba">ll</a> i = 1; i &lt;= <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) {</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">for</span> (<a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba">ll</a> j = 1; j &lt;= <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; j++) {</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">for</span> (<a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba">ll</a> z = 1; z &lt;= <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; z++) {</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> C[i][j] = (C[i][j] + (A[i][z] * B[z][j]) % MOD) % MOD;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> }</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> }</div>
@@ -157,9 +158,9 @@ $(function(){initNavTree('d7/d35/matrix__exponentiation_8cpp_source.html','../..
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">return</span> C;</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span>}</div>
</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span></div>
<div class="foldopen" id="foldopen00076" data-start="{" data-end="}">
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="../../d7/d35/matrix__exponentiation_8cpp.html#a702a9fc90e79b05b863cc4efa26ae2ec"> 76</a></span>vector&lt;vector&lt;ll&gt;&gt; <a class="code hl_function" href="../../d7/d35/matrix__exponentiation_8cpp.html#a702a9fc90e79b05b863cc4efa26ae2ec">power</a>(<span class="keyword">const</span> vector&lt;vector&lt;ll&gt;&gt; &amp;A, ll p) {</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="../../d7/d35/matrix__exponentiation_8cpp.html#a702a9fc90e79b05b863cc4efa26ae2ec"> 76</a></span>vector&lt;vector&lt;ll&gt;&gt; <a class="code hl_function" href="../../d7/d35/matrix__exponentiation_8cpp.html#a702a9fc90e79b05b863cc4efa26ae2ec">power</a>(<span class="keyword">const</span> vector&lt;vector&lt;ll&gt;&gt; &amp;A, <a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba">ll</a> p) {</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">if</span> (p == 1)</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">return</span> A;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordflow">if</span> (p % 2 == 1) {</div>
@@ -170,21 +171,21 @@ $(function(){initNavTree('d7/d35/matrix__exponentiation_8cpp_source.html','../..
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> }</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span>}</div>
</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span></div>
<div class="foldopen" id="foldopen00091" data-start="{" data-end="}">
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="../../d7/d35/matrix__exponentiation_8cpp.html#ad8389ed58fd0ec66df248014775ad1fa"> 91</a></span>ll ans(ll n) {</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="../../d7/d35/matrix__exponentiation_8cpp.html#ad8389ed58fd0ec66df248014775ad1fa"> 91</a></span><a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba">ll</a> ans(<a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba">ll</a> n) {</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">if</span> (n == 0)</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">if</span> (n &lt;= <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>)</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a35b7c98af53ad2ec18658679ad7d43de">fib_b</a>[n - 1];</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="comment">// F1</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> vector&lt;ll&gt; F1(<a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> + 1);</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">for</span> (ll i = 1; i &lt;= <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) F1[i] = <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a35b7c98af53ad2ec18658679ad7d43de">fib_b</a>[i - 1];</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">for</span> (<a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba">ll</a> i = 1; i &lt;= <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) F1[i] = <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a35b7c98af53ad2ec18658679ad7d43de">fib_b</a>[i - 1];</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> </div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="comment">// Transpose matrix</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> vector&lt;vector&lt;ll&gt;&gt; T(<a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> + 1, vector&lt;ll&gt;(<a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> + 1));</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">for</span> (ll i = 1; i &lt;= <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) {</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordflow">for</span> (ll j = 1; j &lt;= <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; j++) {</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">for</span> (<a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba">ll</a> i = 1; i &lt;= <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) {</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordflow">for</span> (<a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba">ll</a> j = 1; j &lt;= <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; j++) {</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">if</span> (i &lt; <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>) {</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">if</span> (j == i + 1)</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> T[i][j] = 1;</div>
@@ -199,21 +200,21 @@ $(function(){initNavTree('d7/d35/matrix__exponentiation_8cpp_source.html','../..
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> T = <a class="code hl_function" href="../../d7/d35/matrix__exponentiation_8cpp.html#a702a9fc90e79b05b863cc4efa26ae2ec">power</a>(T, n - 1);</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="comment">// T*F1</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> ll res = 0;</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keywordflow">for</span> (ll i = 1; i &lt;= <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) {</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba">ll</a> res = 0;</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keywordflow">for</span> (<a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba">ll</a> i = 1; i &lt;= <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) {</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> res = (res + (T[1][i] * F1[i]) % MOD) % MOD;</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> }</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">return</span> res;</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span>}</div>
</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span></div>
<div class="foldopen" id="foldopen00126" data-start="{" data-end="}">
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"><a class="line" href="../../d7/d35/matrix__exponentiation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4"> 126</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d7/d35/matrix__exponentiation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> cin.tie(0);</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> cout.tie(0);</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> ll t;</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba">ll</a> t;</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> cin &gt;&gt; t;</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> ll i, j, x;</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba">ll</a> i, j, x;</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">while</span> (t--) {</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> cin &gt;&gt; <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>;</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) {</div>
@@ -237,6 +238,7 @@ $(function(){initNavTree('d7/d35/matrix__exponentiation_8cpp_source.html','../..
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a600eaf353befc174637855795f12d258"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a></div><div class="ttdeci">#define endl</div><div class="ttdef"><b>Definition</b> <a href="#l00036">matrix_exponentiation.cpp:36</a></div></div>
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a702a9fc90e79b05b863cc4efa26ae2ec"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#a702a9fc90e79b05b863cc4efa26ae2ec">power</a></div><div class="ttdeci">vector&lt; vector&lt; ll &gt; &gt; power(const vector&lt; vector&lt; ll &gt; &gt; &amp;A, ll p)</div><div class="ttdef"><b>Definition</b> <a href="#l00076">matrix_exponentiation.cpp:76</a></div></div>
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a9977ad12548c4a49dee9dc3f0685aa54"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a></div><div class="ttdeci">ll mat_size</div><div class="ttdef"><b>Definition</b> <a href="#l00045">matrix_exponentiation.cpp:45</a></div></div>
<div class="ttc" id="amatrix__exponentiation_8cpp_html_ae1d1ec9482079231e898236e2b23c9ba"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba">ll</a></div><div class="ttdeci">#define ll</div><div class="ttdef"><b>Definition</b> <a href="#l00033">matrix_exponentiation.cpp:33</a></div></div>
<div class="ttc" id="amatrix__exponentiation_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition</b> <a href="#l00126">matrix_exponentiation.cpp:126</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
@@ -244,7 +246,7 @@ $(function(){initNavTree('d7/d35/matrix__exponentiation_8cpp_source.html','../..
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_9510827d0b234b3cc54b29892f217477.html">others</a></li><li class="navelem"><a class="el" href="../../d7/d35/matrix__exponentiation_8cpp.html">matrix_exponentiation.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: backtracking/magic_sequence.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -147,7 +147,7 @@ $(function(){initNavTree('d7/d37/magic__sequence_8cpp_source.html','../../'); in
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#include &lt;list&gt;</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include &lt;numeric&gt;</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include &lt;vector&gt;</span> </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../db/dc0/namespacebacktracking.html">backtracking</a> {</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d8/d93/namespacemagic__sequence.html">magic_sequence</a> {</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="keyword">using </span>sequence_t =</div>
@@ -156,7 +156,7 @@ $(function(){initNavTree('d7/d37/magic__sequence_8cpp_source.html','../../'); in
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; item : s) std::cout &lt;&lt; item &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> std::cout &lt;&lt; std::endl;</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span>}</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="keywordtype">bool</span> is_magic(<span class="keyword">const</span> sequence_t&amp; s) {</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; s.size(); i++) {</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">if</span> (std::count(s.cbegin(), s.cend(), i) != s[i]) {</div>
@@ -165,13 +165,13 @@ $(function(){initNavTree('d7/d37/magic__sequence_8cpp_source.html','../../'); in
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> }</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span>}</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="keywordtype">bool</span> filtering(<span class="keyword">const</span> sequence_t&amp; s, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> depth) {</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">return</span> std::accumulate(s.cbegin(), s.cbegin() + depth,</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">&gt;</span>(0)) &lt;= s.size();</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span>}</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d1/d2a/knight__tour_8cpp.html#aaa47356d98676cf5315d978f741e29c9">solve</a>(sequence_t* s, std::list&lt;sequence_t&gt;* ret, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> depth = 0) {</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="keywordtype">void</span> solve(sequence_t* s, std::list&lt;sequence_t&gt;* ret, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> depth = 0) {</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">if</span> (depth == s-&gt;size()) {</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordflow">if</span> (is_magic(*s)) {</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> ret-&gt;push_back(*s);</div>
@@ -180,7 +180,7 @@ $(function(){initNavTree('d7/d37/magic__sequence_8cpp_source.html','../../'); in
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; s-&gt;size(); i++) {</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> (*s)[depth] = i;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">if</span> (filtering(*s, depth + 1)) {</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <a class="code hl_function" href="../../d1/d2a/knight__tour_8cpp.html#aaa47356d98676cf5315d978f741e29c9">solve</a>(s, ret, depth + 1);</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> solve(s, ret, depth + 1);</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> }</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> }</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> }</div>
@@ -188,8 +188,8 @@ $(function(){initNavTree('d7/d37/magic__sequence_8cpp_source.html','../../'); in
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span>} <span class="comment">// namespace magic_sequence</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span>} <span class="comment">// namespace backtracking</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> </div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="keyword">static</span> <span class="keywordtype">void</span> test() {</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d1e/generate__parentheses_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>() {</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="comment">// test a valid magic sequence</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> backtracking::magic_sequence::sequence_t s_magic = {6, 2, 1, 0, 0,</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> 0, 1, 0, 0, 0};</div>
@@ -200,9 +200,9 @@ $(function(){initNavTree('d7/d37/magic__sequence_8cpp_source.html','../../'); in
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> 0, 1, 0, 0, 0};</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> assert(!backtracking::magic_sequence::is_magic(s_not_magic));</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span>}</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> </div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="keywordtype">int</span> <a class="code hl_function" href="../../dd/d1e/generate__parentheses_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> test(); <span class="comment">// run self-test implementations</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <a class="code hl_function" href="../../dd/d1e/generate__parentheses_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// run self-test implementations</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="comment">// solve magic sequences of size 2 to 11 and print the solutions</span></div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 2; i &lt; 12; i++) {</div>
@@ -220,8 +220,8 @@ $(function(){initNavTree('d7/d37/magic__sequence_8cpp_source.html','../../'); in
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> }</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span>}</div>
<div class="ttc" id="agenerate__parentheses_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="../../dd/d1e/generate__parentheses_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdoc">Self-test implementations.</div><div class="ttdef"><b>Definition</b> <a href="../../dd/d1e/generate__parentheses_8cpp_source.html#l00082">generate_parentheses.cpp:82</a></div></div>
<div class="ttc" id="agenerate__parentheses_8cpp_html_gae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../dd/d1e/generate__parentheses_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdoc">Main function.</div><div class="ttdef"><b>Definition</b> <a href="../../dd/d1e/generate__parentheses_8cpp_source.html#l00110">generate_parentheses.cpp:110</a></div></div>
<div class="ttc" id="aknight__tour_8cpp_html_aaa47356d98676cf5315d978f741e29c9"><div class="ttname"><a href="../../d1/d2a/knight__tour_8cpp.html#aaa47356d98676cf5315d978f741e29c9">backtracking::knight_tour::solve</a></div><div class="ttdeci">bool solve(int x, int y, int mov, std::array&lt; std::array&lt; int, V &gt;, V &gt; &amp;sol, const std::array&lt; int, V &gt; &amp;xmov, std::array&lt; int, V &gt; &amp;ymov)</div><div class="ttdef"><b>Definition</b> <a href="../../d1/d2a/knight__tour_8cpp_source.html#l00057">knight_tour.cpp:57</a></div></div>
<div class="ttc" id="anamespacebacktracking_html"><div class="ttname"><a href="../../db/dc0/namespacebacktracking.html">backtracking</a></div><div class="ttdoc">for vector container</div></div>
<div class="ttc" id="anamespacemagic__sequence_html"><div class="ttname"><a href="../../d8/d93/namespacemagic__sequence.html">magic_sequence</a></div><div class="ttdoc">Functions for the Magic sequence implementation.</div></div>
</div><!-- fragment --></div><!-- contents -->
@@ -230,7 +230,7 @@ $(function(){initNavTree('d7/d37/magic__sequence_8cpp_source.html','../../'); in
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_c11585dfcef32a26e29098facab6c144.html">backtracking</a></li><li class="navelem"><b>magic_sequence.cpp</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: graph/bridge_finding_with_tarjan_algorithm.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -176,11 +176,11 @@ $(function(){initNavTree('d7/d39/bridge__finding__with__tarjan__algorithm_8cpp_s
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> }</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span>};</div>
</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="keywordtype">int</span> <a class="code hl_function" href="../../dd/d1e/generate__parentheses_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <a class="code hl_class" href="../../dd/d4f/class_solution.html">Solution</a> s1;</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">int</span> number_of_node = 5;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> std::vector&lt;std::vector&lt;int&gt;&gt; <a class="code hl_typedef" href="../../d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287">node</a>;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> std::vector&lt;std::vector&lt;int&gt;&gt; <a class="code hl_class" href="../../d5/da1/structnode.html">node</a>;</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a>.push_back({0, 1});</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a>.push_back({1, 3});</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a>.push_back({1, 2});</div>
@@ -206,7 +206,6 @@ $(function(){initNavTree('d7/d39/bridge__finding__with__tarjan__algorithm_8cpp_s
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> }</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span>}</div>
<div class="ttc" id="aavltree_8cpp_html_a74f0cf18a0e5b832d9994e2f2d022287"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287">node</a></div><div class="ttdeci">struct node { int data; int height; struct node *left; struct node *right;} node</div><div class="ttdoc">for std::queue</div><div class="ttdef"><b>Definition</b> <a href="../../d8/dee/avltree_8cpp_source.html#l00013">avltree.cpp:13</a></div></div>
<div class="ttc" id="aclass_solution_html"><div class="ttname"><a href="../../dd/d4f/class_solution.html">Solution</a></div><div class="ttdef"><b>Definition</b> <a href="#l00011">bridge_finding_with_tarjan_algorithm.cpp:11</a></div></div>
<div class="ttc" id="agenerate__parentheses_8cpp_html_gae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../dd/d1e/generate__parentheses_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdoc">Main function.</div><div class="ttdef"><b>Definition</b> <a href="../../dd/d1e/generate__parentheses_8cpp_source.html#l00110">generate_parentheses.cpp:110</a></div></div>
<div class="ttc" id="anamespacegraph_html"><div class="ttname"><a href="../../df/dce/namespacegraph.html">graph</a></div><div class="ttdoc">Graph Algorithms.</div></div>
@@ -217,7 +216,7 @@ $(function(){initNavTree('d7/d39/bridge__finding__with__tarjan__algorithm_8cpp_s
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_12552d7fa429bf94a2e32e5cf39f7e69.html">graph</a></li><li class="navelem"><b>bridge_finding_with_tarjan_algorithm.cpp</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: numerical_methods/lu_decomposition.h Pages: 1 -->
<svg width="250pt" height="105pt"

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: numerical_methods/lu_decomposition.h Pages: 1 -->
<svg width="250pt" height="105pt"

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: data_structures/linkedlist_implentation_usingarray.cpp Pages: 1 -->
<svg width="149pt" height="94pt"

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: data_structures/linkedlist_implentation_usingarray.cpp Pages: 1 -->
<svg width="149pt" height="94pt"

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: travellingSalesman_bitmanipulation Namespace Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -135,7 +135,7 @@ $(function(){initNavTree('d7/d3f/namespacetravelling_salesman__bitmanipulation.h
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d7/d3f/namespacetravelling_salesman__bitmanipulation.html">travellingSalesman_bitmanipulation</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: Solution Pages: 1 -->
<svg width="352pt" height="116pt"

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: Solution Pages: 1 -->
<svg width="352pt" height="116pt"

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: MinHeapNode Pages: 1 -->
<svg width="123pt" height="31pt"

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: MinHeapNode Pages: 1 -->
<svg width="123pt" height="31pt"

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: data_structures/stack_using_queue.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -124,12 +124,12 @@ $(function(){initNavTree('d7/d43/stack__using__queue_8cpp_source.html','../../')
<div class="headertitle"><div class="title">stack_using_queue.cpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &lt;cassert&gt;</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &lt;iostream&gt;</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;queue&gt;</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d5/d3c/namespacedata__structures.html">data_structures</a> {</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../df/d1c/namespacestack__using__queue.html">stack_using_queue</a> {</div>
<div class="foldopen" id="foldopen00031" data-start="{" data-end="};">
@@ -137,9 +137,9 @@ $(function(){initNavTree('d7/d43/stack__using__queue_8cpp_source.html','../../')
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#acf8ca54d5dd6676f255fff3dedacc7c6"> 32</a></span> std::queue&lt;int64_t&gt; <a class="code hl_variable" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#acf8ca54d5dd6676f255fff3dedacc7c6">main_q</a>; </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#a2f80f87fc6f6ded938426698bba89323"> 33</a></span> std::queue&lt;int64_t&gt; <a class="code hl_variable" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#a2f80f87fc6f6ded938426698bba89323">auxiliary_q</a>; </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#afdfd2f4418c70b1bda50f2c3e416d80b"> 35</a></span> uint32_t <a class="code hl_variable" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#afdfd2f4418c70b1bda50f2c3e416d80b">current_size</a> = 0; </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#a5540434e1b41245205eee86f664906f7"> 41</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#a5540434e1b41245205eee86f664906f7">top</a>() { <span class="keywordflow">return</span> <a class="code hl_variable" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#acf8ca54d5dd6676f255fff3dedacc7c6">main_q</a>.front(); }</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span></div>
<div class="foldopen" id="foldopen00048" data-start="{" data-end="}">
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#af04a8f3536a52d8c9916086b656eefc2"> 48</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#af04a8f3536a52d8c9916086b656eefc2">push</a>(<span class="keywordtype">int</span> val) {</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <a class="code hl_variable" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#a2f80f87fc6f6ded938426698bba89323">auxiliary_q</a>.push(val);</div>
@@ -151,7 +151,7 @@ $(function(){initNavTree('d7/d43/stack__using__queue_8cpp_source.html','../../')
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <a class="code hl_variable" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#afdfd2f4418c70b1bda50f2c3e416d80b">current_size</a>++;</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> }</div>
</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span></div>
<div class="foldopen" id="foldopen00062" data-start="{" data-end="}">
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#abdd461689df4983a3ad3b05d853cf5eb"> 62</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#abdd461689df4983a3ad3b05d853cf5eb">pop</a>() {</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#acf8ca54d5dd6676f255fff3dedacc7c6">main_q</a>.empty()) {</div>
@@ -161,14 +161,14 @@ $(function(){initNavTree('d7/d43/stack__using__queue_8cpp_source.html','../../')
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <a class="code hl_variable" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#afdfd2f4418c70b1bda50f2c3e416d80b">current_size</a>--;</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> }</div>
</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#ac0ddec9ab8f778dad23ec446d7a77b39"> 74</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#ac0ddec9ab8f778dad23ec446d7a77b39">size</a>() { <span class="keywordflow">return</span> <a class="code hl_variable" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#afdfd2f4418c70b1bda50f2c3e416d80b">current_size</a>; }</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span>};</div>
</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span>} <span class="comment">// namespace stack_using_queue</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span>} <span class="comment">// namespace data_structures</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d6/d2c/caesar__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">test</a>() {</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d1e/generate__parentheses_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>() {</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <a class="code hl_struct" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html">data_structures::stack_using_queue::Stack</a> s;</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> s.<a class="code hl_function" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#af04a8f3536a52d8c9916086b656eefc2">push</a>(1); </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> s.<a class="code hl_function" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#af04a8f3536a52d8c9916086b656eefc2">push</a>(2); </div>
@@ -192,12 +192,12 @@ $(function(){initNavTree('d7/d43/stack__using__queue_8cpp_source.html','../../')
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> assert(s.<a class="code hl_function" href="../../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#ac0ddec9ab8f778dad23ec446d7a77b39">size</a>() == 1); </div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span>}</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span><span class="keywordtype">int</span> <a class="code hl_function" href="../../dd/d1e/generate__parentheses_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <a class="code hl_function" href="../../d6/d2c/caesar__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">test</a>(); <span class="comment">// run self-test implementations</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <a class="code hl_function" href="../../dd/d1e/generate__parentheses_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// run self-test implementations</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span>}</div>
<div class="ttc" id="acaesar__cipher_8cpp_html_ae1a3968e7947464bee7714f6d43b7002"><div class="ttname"><a href="../../d6/d2c/caesar__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">test</a></div><div class="ttdeci">void test()</div><div class="ttdef"><b>Definition</b> <a href="../../d6/d2c/caesar__cipher_8cpp_source.html#l00100">caesar_cipher.cpp:100</a></div></div>
<div class="ttc" id="agenerate__parentheses_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="../../dd/d1e/generate__parentheses_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdoc">Self-test implementations.</div><div class="ttdef"><b>Definition</b> <a href="../../dd/d1e/generate__parentheses_8cpp_source.html#l00082">generate_parentheses.cpp:82</a></div></div>
<div class="ttc" id="agenerate__parentheses_8cpp_html_gae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../dd/d1e/generate__parentheses_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdoc">Main function.</div><div class="ttdef"><b>Definition</b> <a href="../../dd/d1e/generate__parentheses_8cpp_source.html#l00110">generate_parentheses.cpp:110</a></div></div>
<div class="ttc" id="anamespacedata__structures_html"><div class="ttname"><a href="../../d5/d3c/namespacedata__structures.html">data_structures</a></div><div class="ttdoc">for IO operations</div></div>
<div class="ttc" id="anamespacestack__using__queue_html"><div class="ttname"><a href="../../df/d1c/namespacestack__using__queue.html">stack_using_queue</a></div><div class="ttdoc">Functions for the Stack Using Queue implementation.</div></div>
@@ -215,7 +215,7 @@ $(function(){initNavTree('d7/d43/stack__using__queue_8cpp_source.html','../../')
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html">data_structures</a></li><li class="navelem"><b>stack_using_queue.cpp</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: XOR Namespace Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -135,7 +135,7 @@ $(function(){initNavTree('d7/d47/namespace_x_o_r.html','../../'); initResizable(
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d7/d47/namespace_x_o_r.html">XOR</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: std::is_integral&lt; uint256_t &gt; Struct Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -146,7 +146,7 @@ Collaboration diagram for std::is_integral&lt; uint256_t &gt;:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><b>std</b></li><li class="navelem"><a class="el" href="../../d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html">is_integral&lt; uint256_t &gt;</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: geometry::grahamscan::Point Struct Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -180,7 +180,7 @@ Public Attributes</h2></td></tr>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d5/d5f/namespacegeometry.html">geometry</a></li><li class="navelem"><b>grahamscan</b></li><li class="navelem"><a class="el" href="../../d7/d48/structgeometry_1_1grahamscan_1_1_point.html">Point</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: math/fibonacci_sum.cpp Pages: 1 -->
<svg width="252pt" height="83pt"

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: math/fibonacci_sum.cpp Pages: 1 -->
<svg width="252pt" height="83pt"

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: k_nearest_neighbors Namespace Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -135,7 +135,7 @@ $(function(){initNavTree('d7/d4c/namespacek__nearest__neighbors.html','../../');
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d7/d4c/namespacek__nearest__neighbors.html">k_nearest_neighbors</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: others/spiral_print.cpp Pages: 1 -->
<svg width="120pt" height="83pt"

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: others/spiral_print.cpp Pages: 1 -->
<svg width="120pt" height="83pt"

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: modular_inverse_fermat Namespace Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -135,7 +135,7 @@ $(function(){initNavTree('d7/d50/namespacemodular__inverse__fermat.html','../../
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d7/d50/namespacemodular__inverse__fermat.html">modular_inverse_fermat</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: math/inv_sqrt.cpp Pages: 1 -->
<svg width="309pt" height="83pt"

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: math/inv_sqrt.cpp Pages: 1 -->
<svg width="309pt" height="83pt"

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: dynamic_programming/kadane.cpp Pages: 1 -->
<svg width="180pt" height="94pt"

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: dynamic_programming/kadane.cpp Pages: 1 -->
<svg width="180pt" height="94pt"

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: bit_manipulation/count_bits_flip.cpp File Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -262,7 +262,7 @@ Functions</h2></td></tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -273,21 +273,22 @@ Functions</h2></td></tr>
<p class="definition">Definition at line <a class="el" href="../../d7/d56/count__bits__flip_8cpp_source.html#l00065">65</a> of file <a class="el" href="../../d7/d56/count__bits__flip_8cpp_source.html">count_bits_flip.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 65</span> {</div>
<div class="line"><span class="lineno"> 66</span> <span class="comment">// A = 10, B = 20 return 4</span></div>
<div class="line"><span class="lineno"> 67</span> assert(bit_manipulation::count_bits_flip::countBitsFlip(10, 20) == 4);</div>
<div class="line"><span class="lineno"> 67</span> assert(<a class="code hl_function" href="#a2548486b6c3b80101e768562e687ef7b">bit_manipulation::count_bits_flip::countBitsFlip</a>(10, 20) == 4);</div>
<div class="line"><span class="lineno"> 68</span> <span class="comment">// A = 20, B = 25 return 3</span></div>
<div class="line"><span class="lineno"> 69</span> assert(bit_manipulation::count_bits_flip::countBitsFlip(20, 25) == 3);</div>
<div class="line"><span class="lineno"> 69</span> assert(<a class="code hl_function" href="#a2548486b6c3b80101e768562e687ef7b">bit_manipulation::count_bits_flip::countBitsFlip</a>(20, 25) == 3);</div>
<div class="line"><span class="lineno"> 70</span> <span class="comment">// A = 7, B = 10 return 3</span></div>
<div class="line"><span class="lineno"> 71</span> assert(bit_manipulation::count_bits_flip::countBitsFlip(7, 10) == 3);</div>
<div class="line"><span class="lineno"> 71</span> assert(<a class="code hl_function" href="#a2548486b6c3b80101e768562e687ef7b">bit_manipulation::count_bits_flip::countBitsFlip</a>(7, 10) == 3);</div>
<div class="line"><span class="lineno"> 72</span> <span class="comment">// A = 17, B = 25 return 1</span></div>
<div class="line"><span class="lineno"> 73</span> assert(bit_manipulation::count_bits_flip::countBitsFlip(17, 25) == 1);</div>
<div class="line"><span class="lineno"> 73</span> assert(<a class="code hl_function" href="#a2548486b6c3b80101e768562e687ef7b">bit_manipulation::count_bits_flip::countBitsFlip</a>(17, 25) == 1);</div>
<div class="line"><span class="lineno"> 74</span> <span class="comment">// A = 11, B = 8 return 2</span></div>
<div class="line"><span class="lineno"> 75</span> assert(bit_manipulation::count_bits_flip::countBitsFlip(11, 8) == 2);</div>
<div class="line"><span class="lineno"> 75</span> assert(<a class="code hl_function" href="#a2548486b6c3b80101e768562e687ef7b">bit_manipulation::count_bits_flip::countBitsFlip</a>(11, 8) == 2);</div>
<div class="line"><span class="lineno"> 76</span> <span class="comment">// A = 21, B = 22 return 2</span></div>
<div class="line"><span class="lineno"> 77</span> assert(bit_manipulation::count_bits_flip::countBitsFlip(21, 22) == 2);</div>
<div class="line"><span class="lineno"> 77</span> assert(<a class="code hl_function" href="#a2548486b6c3b80101e768562e687ef7b">bit_manipulation::count_bits_flip::countBitsFlip</a>(21, 22) == 2);</div>
<div class="line"><span class="lineno"> 78</span> <span class="comment">// A = 7, B = 786 return 5</span></div>
<div class="line"><span class="lineno"> 79</span> assert(bit_manipulation::count_bits_flip::countBitsFlip(7, 786) == 5);</div>
<div class="line"><span class="lineno"> 79</span> assert(<a class="code hl_function" href="#a2548486b6c3b80101e768562e687ef7b">bit_manipulation::count_bits_flip::countBitsFlip</a>(7, 786) == 5);</div>
<div class="line"><span class="lineno"> 80</span> std::cout &lt;&lt; <span class="stringliteral">&quot;All test cases successfully passed!&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 81</span>}</div>
<div class="ttc" id="acount__bits__flip_8cpp_html_a2548486b6c3b80101e768562e687ef7b"><div class="ttname"><a href="#a2548486b6c3b80101e768562e687ef7b">bit_manipulation::count_bits_flip::countBitsFlip</a></div><div class="ttdeci">std::uint64_t countBitsFlip(std::int64_t A, std::int64_t B)</div><div class="ttdoc">The main function implements count of bits flip required.</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d56/count__bits__flip_8cpp_source.html#l00043">count_bits_flip.cpp:43</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -297,7 +298,7 @@ Functions</h2></td></tr>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_f3c4fbc4e901afa0a54d0623c5574aa7.html">bit_manipulation</a></li><li class="navelem"><a class="el" href="../../d7/d56/count__bits__flip_8cpp.html">count_bits_flip.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,6 +1,6 @@
var count__bits__flip_8cpp =
[
[ "countBitsFlip", "d7/d56/count__bits__flip_8cpp.html#a2548486b6c3b80101e768562e687ef7b", null ],
[ "bit_manipulation::count_bits_flip::countBitsFlip", "d7/d56/count__bits__flip_8cpp.html#a2548486b6c3b80101e768562e687ef7b", null ],
[ "main", "d7/d56/count__bits__flip_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ],
[ "test", "d7/d56/count__bits__flip_8cpp.html#aa8dca7b867074164d5f45b0f3851269d", null ]
];

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: bit_manipulation/count_bits_flip.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -124,7 +124,7 @@ $(function(){initNavTree('d7/d56/count__bits__flip_8cpp_source.html','../../');
<div class="headertitle"><div class="title">count_bits_flip.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d56/count__bits__flip_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<a href="../../d7/d56/count__bits__flip_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include &lt;cassert&gt;</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include &lt;iostream&gt;</span> </div>
@@ -149,26 +149,27 @@ $(function(){initNavTree('d7/d56/count__bits__flip_8cpp_source.html','../../');
</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span>} <span class="comment">// namespace count_bits_flip</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span>} <span class="comment">// namespace bit_manipulation</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span></div>
<div class="foldopen" id="foldopen00065" data-start="{" data-end="}">
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="../../d7/d56/count__bits__flip_8cpp.html#aa8dca7b867074164d5f45b0f3851269d"> 65</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d7/d56/count__bits__flip_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>() {</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="comment">// A = 10, B = 20 return 4</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> assert(bit_manipulation::count_bits_flip::countBitsFlip(10, 20) == 4);</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> assert(<a class="code hl_function" href="../../d7/d56/count__bits__flip_8cpp.html#a2548486b6c3b80101e768562e687ef7b">bit_manipulation::count_bits_flip::countBitsFlip</a>(10, 20) == 4);</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="comment">// A = 20, B = 25 return 3</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> assert(bit_manipulation::count_bits_flip::countBitsFlip(20, 25) == 3);</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> assert(<a class="code hl_function" href="../../d7/d56/count__bits__flip_8cpp.html#a2548486b6c3b80101e768562e687ef7b">bit_manipulation::count_bits_flip::countBitsFlip</a>(20, 25) == 3);</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="comment">// A = 7, B = 10 return 3</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> assert(bit_manipulation::count_bits_flip::countBitsFlip(7, 10) == 3);</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> assert(<a class="code hl_function" href="../../d7/d56/count__bits__flip_8cpp.html#a2548486b6c3b80101e768562e687ef7b">bit_manipulation::count_bits_flip::countBitsFlip</a>(7, 10) == 3);</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="comment">// A = 17, B = 25 return 1</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> assert(bit_manipulation::count_bits_flip::countBitsFlip(17, 25) == 1);</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> assert(<a class="code hl_function" href="../../d7/d56/count__bits__flip_8cpp.html#a2548486b6c3b80101e768562e687ef7b">bit_manipulation::count_bits_flip::countBitsFlip</a>(17, 25) == 1);</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="comment">// A = 11, B = 8 return 2</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> assert(bit_manipulation::count_bits_flip::countBitsFlip(11, 8) == 2);</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> assert(<a class="code hl_function" href="../../d7/d56/count__bits__flip_8cpp.html#a2548486b6c3b80101e768562e687ef7b">bit_manipulation::count_bits_flip::countBitsFlip</a>(11, 8) == 2);</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="comment">// A = 21, B = 22 return 2</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> assert(bit_manipulation::count_bits_flip::countBitsFlip(21, 22) == 2);</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> assert(<a class="code hl_function" href="../../d7/d56/count__bits__flip_8cpp.html#a2548486b6c3b80101e768562e687ef7b">bit_manipulation::count_bits_flip::countBitsFlip</a>(21, 22) == 2);</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="comment">// A = 7, B = 786 return 5</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> assert(bit_manipulation::count_bits_flip::countBitsFlip(7, 786) == 5);</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> assert(<a class="code hl_function" href="../../d7/d56/count__bits__flip_8cpp.html#a2548486b6c3b80101e768562e687ef7b">bit_manipulation::count_bits_flip::countBitsFlip</a>(7, 786) == 5);</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> std::cout &lt;&lt; <span class="stringliteral">&quot;All test cases successfully passed!&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span>}</div>
</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span></div>
<div class="foldopen" id="foldopen00086" data-start="{" data-end="}">
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="../../d7/d56/count__bits__flip_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4"> 86</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d7/d56/count__bits__flip_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <a class="code hl_function" href="../../d7/d56/count__bits__flip_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// run self-test implementations</span></div>
@@ -186,7 +187,7 @@ $(function(){initNavTree('d7/d56/count__bits__flip_8cpp_source.html','../../');
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_f3c4fbc4e901afa0a54d0623c5574aa7.html">bit_manipulation</a></li><li class="navelem"><a class="el" href="../../d7/d56/count__bits__flip_8cpp.html">count_bits_flip.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: dynamic_programming/longest_increasing_subsequence.cpp File Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -242,7 +242,7 @@ Functions</h2></td></tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -272,7 +272,7 @@ Functions</h2></td></tr>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_8a20dd5bfd5341a725342bf72b6b686f.html">dynamic_programming</a></li><li class="navelem"><a class="el" href="../../d7/d57/longest__increasing__subsequence_8cpp.html">longest_increasing_subsequence.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,6 +1,6 @@
var longest__increasing__subsequence_8cpp =
[
[ "LIS", "d7/d57/longest__increasing__subsequence_8cpp.html#a0a2215194e58786c34db1ccaf8031079", null ],
[ "dynamic_programming::LIS", "dd/d24/namespacedynamic__programming.html#a0a2215194e58786c34db1ccaf8031079", null ],
[ "main", "d7/d57/longest__increasing__subsequence_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089", null ],
[ "test", "d7/d57/longest__increasing__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d", null ]
];

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: dynamic_programming/longest_increasing_subsequence.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -124,13 +124,14 @@ $(function(){initNavTree('d7/d57/longest__increasing__subsequence_8cpp_source.ht
<div class="headertitle"><div class="title">longest_increasing_subsequence.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d57/longest__increasing__subsequence_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<a href="../../d7/d57/longest__increasing__subsequence_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include &lt;cassert&gt;</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include &lt;climits&gt;</span> </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include &lt;cstdint&gt;</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include &lt;iostream&gt;</span> </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include &lt;vector&gt;</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../dd/d24/namespacedynamic__programming.html">dynamic_programming</a> {</div>
<div class="foldopen" id="foldopen00040" data-start="{" data-end="}">
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="../../dd/d24/namespacedynamic__programming.html#a0a2215194e58786c34db1ccaf8031079"> 40</a></span>uint64_t <a class="code hl_function" href="../../dd/d24/namespacedynamic__programming.html#a0a2215194e58786c34db1ccaf8031079">LIS</a>(<span class="keyword">const</span> std::vector&lt;uint64_t&gt; &amp;a, <span class="keyword">const</span> uint32_t &amp;n) {</div>
@@ -153,7 +154,7 @@ $(function(){initNavTree('d7/d57/longest__increasing__subsequence_8cpp_source.ht
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span>}</div>
</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span>} <span class="comment">// namespace dynamic_programming</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span></div>
<div class="foldopen" id="foldopen00064" data-start="{" data-end="}">
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="../../d7/d57/longest__increasing__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d"> 64</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d7/d57/longest__increasing__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>() {</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> std::vector&lt;uint64_t&gt; a = {15, 21, 2, 3, 4, 5, 8, 4, 1, 1};</div>
@@ -166,7 +167,7 @@ $(function(){initNavTree('d7/d57/longest__increasing__subsequence_8cpp_source.ht
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Self-test implementations passed!&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span>}</div>
</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span></div>
<div class="foldopen" id="foldopen00081" data-start="{" data-end="}">
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="../../d7/d57/longest__increasing__subsequence_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089"> 81</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../dd/d1e/generate__parentheses_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> <span class="keyword">const</span> *argv[]) {</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> uint32_t n = 0;</div>
@@ -198,7 +199,7 @@ $(function(){initNavTree('d7/d57/longest__increasing__subsequence_8cpp_source.ht
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_8a20dd5bfd5341a725342bf72b6b686f.html">dynamic_programming</a></li><li class="navelem"><a class="el" href="../../d7/d57/longest__increasing__subsequence_8cpp.html">longest_increasing_subsequence.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: machine_learning::neural_network::NeuralNetwork Pages: 1 -->
<svg width="238pt" height="361pt"

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: machine_learning::neural_network::NeuralNetwork Pages: 1 -->
<svg width="238pt" height="361pt"

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: Member List</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -134,7 +134,7 @@ $(function(){initNavTree('d4/d0e/classdata__structures_1_1linked__list_1_1_node.
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: Member List</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -159,7 +159,7 @@ $(function(){initNavTree('dd/d40/classdata__structures_1_1tree__234_1_1_node.htm
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: dynamic_programming/shortest_common_supersequence.cpp File Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -333,7 +333,7 @@ related <a class="el" href="../../db/dd3/ode__forward__euler_8cpp.html#abaeae8f6
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -387,7 +387,7 @@ related <a class="el" href="../../db/dd3/ode__forward__euler_8cpp.html#abaeae8f6
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_8a20dd5bfd5341a725342bf72b6b686f.html">dynamic_programming</a></li><li class="navelem"><a class="el" href="../../d7/d65/shortest__common__supersequence_8cpp.html">shortest_common_supersequence.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,6 +1,6 @@
var shortest__common__supersequence_8cpp =
[
[ "main", "d7/d65/shortest__common__supersequence_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ],
[ "scs", "d7/d65/shortest__common__supersequence_8cpp.html#ad2ee8d7e67da9f6eb85146b08dad95e6", null ],
[ "dynamic_programming::shortest_common_supersequence::scs", "d7/d65/shortest__common__supersequence_8cpp.html#ad2ee8d7e67da9f6eb85146b08dad95e6", null ],
[ "test", "d7/d65/shortest__common__supersequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d", null ]
];

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: dynamic_programming/shortest_common_supersequence.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -124,16 +124,17 @@ $(function(){initNavTree('d7/d65/shortest__common__supersequence_8cpp_source.htm
<div class="headertitle"><div class="title">shortest_common_supersequence.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d65/shortest__common__supersequence_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<a href="../../d7/d65/shortest__common__supersequence_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">// header files</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#include &lt;algorithm&gt;</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include &lt;cassert&gt;</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../dd/d24/namespacedynamic__programming.html">dynamic_programming</a> {</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">namespace </span><a class="code hl_namespace" href="../../d3/deb/namespaceshortest__common__supersequence.html">shortest_common_supersequence</a> {</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="foldopen" id="foldopen00042" data-start="{" data-end="}">
@@ -215,7 +216,7 @@ $(function(){initNavTree('d7/d65/shortest__common__supersequence_8cpp_source.htm
</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> } <span class="comment">// namespace shortest_common_supersequence</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span>} <span class="comment">// namespace dynamic_programming</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span></div>
<div class="foldopen" id="foldopen00124" data-start="{" data-end="}">
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"><a class="line" href="../../d7/d65/shortest__common__supersequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d"> 124</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d7/d65/shortest__common__supersequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>() {</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="comment">// custom input vector</span></div>
@@ -231,7 +232,7 @@ $(function(){initNavTree('d7/d65/shortest__common__supersequence_8cpp_source.htm
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">int</span> i=0;</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp; scsString : scsStrings) {</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> calculatedOutput[i] = dynamic_programming::shortest_common_supersequence::scs(</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> calculatedOutput[i] = <a class="code hl_function" href="../../d7/d65/shortest__common__supersequence_8cpp.html#ad2ee8d7e67da9f6eb85146b08dad95e6">dynamic_programming::shortest_common_supersequence::scs</a>(</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> scsString[0], scsString[1]</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> );</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> i++;</div>
@@ -256,7 +257,7 @@ $(function(){initNavTree('d7/d65/shortest__common__supersequence_8cpp_source.htm
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span>}</div>
</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> </div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span></div>
<div class="foldopen" id="foldopen00164" data-start="{" data-end="}">
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"><a class="line" href="../../d7/d65/shortest__common__supersequence_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4"> 164</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d7/d65/shortest__common__supersequence_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="comment">// test for implementation</span></div>
@@ -270,7 +271,7 @@ $(function(){initNavTree('d7/d65/shortest__common__supersequence_8cpp_source.htm
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> std::string ans;</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> </div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="comment">// user output</span></div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> ans = dynamic_programming::shortest_common_supersequence::scs(s1, s2);</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> ans = <a class="code hl_function" href="../../d7/d65/shortest__common__supersequence_8cpp.html#ad2ee8d7e67da9f6eb85146b08dad95e6">dynamic_programming::shortest_common_supersequence::scs</a>(s1, s2);</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> std::cout &lt;&lt; ans;</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span>}</div>
@@ -286,7 +287,7 @@ $(function(){initNavTree('d7/d65/shortest__common__supersequence_8cpp_source.htm
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_8a20dd5bfd5341a725342bf72b6b686f.html">dynamic_programming</a></li><li class="navelem"><a class="el" href="../../d7/d65/shortest__common__supersequence_8cpp.html">shortest_common_supersequence.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: operations_on_datastructures/inorder_successor_of_bst.cpp Pages: 1 -->
<svg width="189pt" height="94pt"

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: operations_on_datastructures/inorder_successor_of_bst.cpp Pages: 1 -->
<svg width="189pt" height="94pt"

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: numerical_methods/bisection_method.cpp File Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -153,7 +153,7 @@ Macros</h2></td></tr>
Functions</h2></td></tr>
<tr class="memitem:a2003b5b2dcfff0769b957ab5c968b03d" id="r_a2003b5b2dcfff0769b957ab5c968b03d"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2003b5b2dcfff0769b957ab5c968b03d">eq</a> (double i)</td></tr>
<tr class="separator:a2003b5b2dcfff0769b957ab5c968b03d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ab31b90bc584c635ec159468ceed9b2" id="r_a1ab31b90bc584c635ec159468ceed9b2"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a1ab31b90bc584c635ec159468ceed9b2" id="r_a1ab31b90bc584c635ec159468ceed9b2"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a1ab31b90bc584c635ec159468ceed9b2"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a1ab31b90bc584c635ec159468ceed9b2">sgn</a> (T val)</td></tr>
<tr class="separator:a1ab31b90bc584c635ec159468ceed9b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4" id="r_ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
@@ -162,8 +162,7 @@ Functions</h2></td></tr>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Solve the equation \(f(x)=0\) using <a href="https://en.wikipedia.org/wiki/Bisection_method" target="_blank">bisection method</a> </p>
<p>Given two points \(a\) and \(b\) such that \(f(a)&lt;0\) and \(f(b)&gt;0\), then the \((i+1)^\text{th}\) approximation is given by: </p><p class="formulaDsp">
\[
x_{i+1} = \frac{a_i+b_i}{2}
\[x_{i+1} = \frac{a_i+b_i}{2}
\]
</p>
<p> For the next iteration, the interval is selected as: \([a,x]\) if \(x&gt;0\) or \([x,b]\) if \(x&lt;0\). The Process is continued till a close enough approximation is achieved.</p>
@@ -226,7 +225,7 @@ x_{i+1} = \frac{a_i+b_i}{2}
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -307,7 +306,7 @@ x_{i+1} = \frac{a_i+b_i}{2}
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">int sgn </td>
@@ -332,7 +331,7 @@ template&lt;typename T &gt; </div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_9c6faab82c22511b50177aa2e38e2780.html">numerical_methods</a></li><li class="navelem"><a class="el" href="../../d7/d6a/bisection__method_8cpp.html">bisection_method.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: numerical_methods/bisection_method.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -124,7 +124,7 @@ $(function(){initNavTree('d7/d6a/bisection__method_8cpp_source.html','../../');
<div class="headertitle"><div class="title">bisection_method.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d6a/bisection__method_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<a href="../../d7/d6a/bisection__method_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;cmath&gt;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &lt;limits&gt;</span></div>
@@ -132,20 +132,20 @@ $(function(){initNavTree('d7/d6a/bisection__method_8cpp_source.html','../../');
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#define EPSILON \</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor"> 1e-6 </span><span class="comment">// std::numeric_limits&lt;double&gt;::epsilon() ///&lt; system accuracy limit</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"><a class="line" href="../../d7/d6a/bisection__method_8cpp.html#a0a3abbca80bc98e7abcb3ae73abe0f14"> 22</a></span><span class="preprocessor">#define MAX_ITERATIONS 50000 </span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span></div>
<div class="foldopen" id="foldopen00026" data-start="{" data-end="}">
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="../../d7/d6a/bisection__method_8cpp.html#a2003b5b2dcfff0769b957ab5c968b03d"> 26</a></span><span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code hl_function" href="../../d7/d6a/bisection__method_8cpp.html#a2003b5b2dcfff0769b957ab5c968b03d">eq</a>(<span class="keywordtype">double</span> i) {</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keywordflow">return</span> (std::pow(i, 3) - (4 * i) - 9); <span class="comment">// original equation</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span>}</div>
</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="foldopen" id="foldopen00032" data-start="{" data-end="}">
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="../../d7/d6a/bisection__method_8cpp.html#a1ab31b90bc584c635ec159468ceed9b2"> 32</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d7/d6a/bisection__method_8cpp.html#a1ab31b90bc584c635ec159468ceed9b2">sgn</a>(T val) {</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keywordflow">return</span> (T(0) &lt; val) - (val &lt; T(0));</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span>}</div>
</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span></div>
<div class="foldopen" id="foldopen00037" data-start="{" data-end="}">
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="../../d7/d6a/bisection__method_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4"> 37</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d7/d6a/bisection__method_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">double</span> a = -1, b = 1, x, z;</div>
@@ -197,7 +197,7 @@ $(function(){initNavTree('d7/d6a/bisection__method_8cpp_source.html','../../');
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_9c6faab82c22511b50177aa2e38e2780.html">numerical_methods</a></li><li class="navelem"><a class="el" href="../../d7/d6a/bisection__method_8cpp.html">bisection_method.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: dynamic_programming/abbreviation.cpp File Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -218,16 +218,16 @@ Algorithm</h3>
<p class="definition">Definition at line <a class="el" href="../../d7/d73/abbreviation_8cpp_source.html#l00119">119</a> of file <a class="el" href="../../d7/d73/abbreviation_8cpp_source.html">abbreviation.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 119</span> {</div>
<div class="line"><span class="lineno"> 120</span> std::vector&lt;std::vector&lt;bool&gt;&gt; memo(</div>
<div class="line"><span class="lineno"> 121</span> str.size() + 1, std::vector&lt;bool&gt;(<a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>.size() + 1, <span class="keyword">false</span>));</div>
<div class="line"><span class="lineno"> 121</span> str.size() + 1, std::vector&lt;bool&gt;(result.size() + 1, <span class="keyword">false</span>));</div>
<div class="line"><span class="lineno"> 122</span> </div>
<div class="line"><span class="lineno"> 123</span> <span class="keywordflow">for</span> (uint32_t i = 0; i &lt;= str.size(); ++i) {</div>
<div class="line"><span class="lineno"> 124</span> memo[i][0] = <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 125</span> }</div>
<div class="line"><span class="lineno"> 126</span> <span class="keywordflow">for</span> (uint32_t i = 1; i &lt;= <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>.size(); ++i) {</div>
<div class="line"><span class="lineno"> 126</span> <span class="keywordflow">for</span> (uint32_t i = 1; i &lt;= result.size(); ++i) {</div>
<div class="line"><span class="lineno"> 127</span> memo[0][i] = <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 128</span> }</div>
<div class="line"><span class="lineno"> 129</span> <span class="keywordflow">for</span> (uint32_t i = 1; i &lt;= str.size(); ++i) {</div>
<div class="line"><span class="lineno"> 130</span> <span class="keywordflow">for</span> (uint32_t j = 1; j &lt;= <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>.size(); ++j) {</div>
<div class="line"><span class="lineno"> 130</span> <span class="keywordflow">for</span> (uint32_t j = 1; j &lt;= result.size(); ++j) {</div>
<div class="line"><span class="lineno"> 131</span> <span class="keywordflow">if</span> (str[i - 1] == result[j - 1]) {</div>
<div class="line"><span class="lineno"> 132</span> memo[i][j] = memo[i - 1][j - 1];</div>
<div class="line"><span class="lineno"> 133</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str[i - 1] - 32 == result[j - 1]) {</div>
@@ -243,7 +243,6 @@ Algorithm</h3>
<div class="line"><span class="lineno"> 143</span> }</div>
<div class="line"><span class="lineno"> 144</span> <span class="keywordflow">return</span> memo.back().back();</div>
<div class="line"><span class="lineno"> 145</span>}</div>
<div class="ttc" id="afibonacci__sum_8cpp_html_aadb40ac4c74a7efc0680b83eeee138aa"><div class="ttname"><a href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">math::fibonacci_sum::result</a></div><div class="ttdeci">uint64_t result(uint64_t n)</div><div class="ttdef"><b>Definition</b> <a href="../../de/dc3/fibonacci__sum_8cpp_source.html#l00077">fibonacci_sum.cpp:77</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -309,14 +308,14 @@ Algorithm</h3>
<p class="definition">Definition at line <a class="el" href="../../d7/d73/abbreviation_8cpp_source.html#l00059">59</a> of file <a class="el" href="../../d7/d73/abbreviation_8cpp_source.html">abbreviation.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 62</span> {</div>
<div class="line"><span class="lineno"> 63</span> <span class="keywordtype">bool</span> ans = memo-&gt;at(str_idx).at(result_idx);</div>
<div class="line"><span class="lineno"> 64</span> <span class="keywordflow">if</span> (str_idx == str.size() &amp;&amp; result_idx == <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>.size()) {</div>
<div class="line"><span class="lineno"> 64</span> <span class="keywordflow">if</span> (str_idx == str.size() &amp;&amp; result_idx == result.size()) {</div>
<div class="line"><span class="lineno"> 65</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 66</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str_idx == str.size() &amp;&amp; result_idx != <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>.size()) {</div>
<div class="line"><span class="lineno"> 66</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str_idx == str.size() &amp;&amp; result_idx != result.size()) {</div>
<div class="line"><span class="lineno"> 67</span> <span class="comment">// result `t` is not converted, return false</span></div>
<div class="line"><span class="lineno"> 68</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 69</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!visited-&gt;at(str_idx).at(result_idx)) {</div>
<div class="line"><span class="lineno"> 81</span> <span class="keywordflow">if</span> (str[str_idx] == result[result_idx]) {</div>
<div class="line"><span class="lineno"> 82</span> ans = <a class="code hl_function" href="#add60b8858720bf217df22d992d0fefaa">abbreviation_recursion</a>(memo, visited, str, result,</div>
<div class="line"><span class="lineno"> 82</span> ans = abbreviation_recursion(memo, visited, str, result,</div>
<div class="line"><span class="lineno"> 83</span> str_idx + 1, result_idx + 1);</div>
<div class="line"><span class="lineno"> 84</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str[str_idx] - 32 == result[result_idx]) {</div>
<div class="line"><span class="lineno"> 85</span> ans = <a class="code hl_function" href="#add60b8858720bf217df22d992d0fefaa">abbreviation_recursion</a>(memo, visited, str, result,</div>
@@ -389,7 +388,7 @@ Algorithm</h3>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -404,9 +403,9 @@ Algorithm</h3>
<div class="line"><span class="lineno"> 156</span> std::vector&lt;bool&gt;(t.size() + 1, <span class="keyword">false</span>)),</div>
<div class="line"><span class="lineno"> 157</span> visited(s.size() + 1, std::vector&lt;bool&gt;(t.size() + 1, <span class="keyword">false</span>));</div>
<div class="line"><span class="lineno"> 158</span> </div>
<div class="line"><span class="lineno"> 159</span> assert(dynamic_programming::abbreviation::abbreviation_recursion(</div>
<div class="line"><span class="lineno"> 159</span> assert(<a class="code hl_function" href="#add60b8858720bf217df22d992d0fefaa">dynamic_programming::abbreviation::abbreviation_recursion</a>(</div>
<div class="line"><span class="lineno"> 160</span> &amp;memo, &amp;visited, s, t) == <span class="keyword">true</span>);</div>
<div class="line"><span class="lineno"> 161</span> assert(dynamic_programming::abbreviation::abbreviation(s, t) == <span class="keyword">true</span>);</div>
<div class="line"><span class="lineno"> 161</span> assert(<a class="code hl_function" href="#af53b2f647bee9c5b75ef8dd9ef685dc8">dynamic_programming::abbreviation::abbreviation</a>(s, t) == <span class="keyword">true</span>);</div>
<div class="line"><span class="lineno"> 162</span> s = <span class="stringliteral">&quot;XXVVnDEFYgYeMXzWINQYHAQKKOZEYgSRCzLZAmUYGUGILjMDET&quot;</span>;</div>
<div class="line"><span class="lineno"> 163</span> t = <span class="stringliteral">&quot;XXVVDEFYYMXWINQYHAQKKOZEYSRCLZAUYGUGILMDETQVWU&quot;</span>;</div>
<div class="line"><span class="lineno"> 164</span> memo = std::vector&lt;std::vector&lt;bool&gt;&gt;(</div>
@@ -415,9 +414,9 @@ Algorithm</h3>
<div class="line"><span class="lineno"> 167</span> visited = std::vector&lt;std::vector&lt;bool&gt;&gt;(</div>
<div class="line"><span class="lineno"> 168</span> s.size() + 1, std::vector&lt;bool&gt;(t.size() + 1, <span class="keyword">false</span>));</div>
<div class="line"><span class="lineno"> 169</span> </div>
<div class="line"><span class="lineno"> 170</span> assert(dynamic_programming::abbreviation::abbreviation_recursion(</div>
<div class="line"><span class="lineno"> 170</span> assert(<a class="code hl_function" href="#add60b8858720bf217df22d992d0fefaa">dynamic_programming::abbreviation::abbreviation_recursion</a>(</div>
<div class="line"><span class="lineno"> 171</span> &amp;memo, &amp;visited, s, t) == <span class="keyword">false</span>);</div>
<div class="line"><span class="lineno"> 172</span> assert(dynamic_programming::abbreviation::abbreviation(s, t) == <span class="keyword">false</span>);</div>
<div class="line"><span class="lineno"> 172</span> assert(<a class="code hl_function" href="#af53b2f647bee9c5b75ef8dd9ef685dc8">dynamic_programming::abbreviation::abbreviation</a>(s, t) == <span class="keyword">false</span>);</div>
<div class="line"><span class="lineno"> 173</span> </div>
<div class="line"><span class="lineno"> 174</span> s = <span class="stringliteral">&quot;DRFNLZZVHLPZWIupjwdmqafmgkg&quot;</span>;</div>
<div class="line"><span class="lineno"> 175</span> t = <span class="stringliteral">&quot;DRFNLZZVHLPZWI&quot;</span>;</div>
@@ -428,10 +427,11 @@ Algorithm</h3>
<div class="line"><span class="lineno"> 180</span> visited = std::vector&lt;std::vector&lt;bool&gt;&gt;(</div>
<div class="line"><span class="lineno"> 181</span> s.size() + 1, std::vector&lt;bool&gt;(t.size() + 1, <span class="keyword">false</span>));</div>
<div class="line"><span class="lineno"> 182</span> </div>
<div class="line"><span class="lineno"> 183</span> assert(dynamic_programming::abbreviation::abbreviation_recursion(</div>
<div class="line"><span class="lineno"> 183</span> assert(<a class="code hl_function" href="#add60b8858720bf217df22d992d0fefaa">dynamic_programming::abbreviation::abbreviation_recursion</a>(</div>
<div class="line"><span class="lineno"> 184</span> &amp;memo, &amp;visited, s, t) == <span class="keyword">true</span>);</div>
<div class="line"><span class="lineno"> 185</span> assert(dynamic_programming::abbreviation::abbreviation(s, t) == <span class="keyword">true</span>);</div>
<div class="line"><span class="lineno"> 185</span> assert(<a class="code hl_function" href="#af53b2f647bee9c5b75ef8dd9ef685dc8">dynamic_programming::abbreviation::abbreviation</a>(s, t) == <span class="keyword">true</span>);</div>
<div class="line"><span class="lineno"> 186</span>}</div>
<div class="ttc" id="aabbreviation_8cpp_html_af53b2f647bee9c5b75ef8dd9ef685dc8"><div class="ttname"><a href="#af53b2f647bee9c5b75ef8dd9ef685dc8">dynamic_programming::abbreviation::abbreviation</a></div><div class="ttdeci">bool abbreviation(const std::string &amp;str, const std::string &amp;result)</div><div class="ttdoc">Iterative Dynamic Programming function.</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d73/abbreviation_8cpp_source.html#l00119">abbreviation.cpp:119</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -441,7 +441,7 @@ Algorithm</h3>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_8a20dd5bfd5341a725342bf72b6b686f.html">dynamic_programming</a></li><li class="navelem"><a class="el" href="../../d7/d73/abbreviation_8cpp.html">abbreviation.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
var abbreviation_8cpp =
[
[ "abbreviation", "d7/d73/abbreviation_8cpp.html#af53b2f647bee9c5b75ef8dd9ef685dc8", null ],
[ "abbreviation_recursion", "d7/d73/abbreviation_8cpp.html#add60b8858720bf217df22d992d0fefaa", null ],
[ "dynamic_programming::abbreviation::abbreviation", "d7/d73/abbreviation_8cpp.html#af53b2f647bee9c5b75ef8dd9ef685dc8", null ],
[ "dynamic_programming::abbreviation::abbreviation_recursion", "d7/d73/abbreviation_8cpp.html#add60b8858720bf217df22d992d0fefaa", null ],
[ "main", "d7/d73/abbreviation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ],
[ "test", "d7/d73/abbreviation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d", null ]
];

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: dynamic_programming/abbreviation.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -124,7 +124,8 @@ $(function(){initNavTree('d7/d73/abbreviation_8cpp_source.html','../../'); initR
<div class="headertitle"><div class="title">abbreviation.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d73/abbreviation_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<a href="../../d7/d73/abbreviation_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include &lt;cassert&gt;</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include &lt;cstdint&gt;</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include &lt;iostream&gt;</span> </div>
@@ -170,6 +171,7 @@ $(function(){initNavTree('d7/d73/abbreviation_8cpp_source.html','../../'); initR
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">return</span> (*memo)[str_idx][result_idx];</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span>}</div>
</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span></div>
<div class="foldopen" id="foldopen00119" data-start="{" data-end="}">
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"><a class="line" href="../../d7/d73/abbreviation_8cpp.html#af53b2f647bee9c5b75ef8dd9ef685dc8"> 119</a></span><span class="keywordtype">bool</span> <a class="code hl_namespace" href="../../d0/df8/namespaceabbreviation.html">abbreviation</a>(<span class="keyword">const</span> std::string &amp;str, <span class="keyword">const</span> std::string &amp;result) {</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> std::vector&lt;std::vector&lt;bool&gt;&gt; memo(</div>
@@ -201,7 +203,7 @@ $(function(){initNavTree('d7/d73/abbreviation_8cpp_source.html','../../'); initR
</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span>} <span class="comment">// namespace abbreviation</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span>} <span class="comment">// namespace dynamic_programming</span></div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> </div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span></div>
<div class="foldopen" id="foldopen00153" data-start="{" data-end="}">
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="../../d7/d73/abbreviation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d"> 153</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d7/d73/abbreviation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>() {</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> std::string s = <span class="stringliteral">&quot;daBcd&quot;</span>, t = <span class="stringliteral">&quot;ABC&quot;</span>;</div>
@@ -209,9 +211,9 @@ $(function(){initNavTree('d7/d73/abbreviation_8cpp_source.html','../../'); initR
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> std::vector&lt;bool&gt;(t.size() + 1, <span class="keyword">false</span>)),</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> visited(s.size() + 1, std::vector&lt;bool&gt;(t.size() + 1, <span class="keyword">false</span>));</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> </div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> assert(dynamic_programming::abbreviation::abbreviation_recursion(</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> assert(<a class="code hl_function" href="../../d7/d73/abbreviation_8cpp.html#add60b8858720bf217df22d992d0fefaa">dynamic_programming::abbreviation::abbreviation_recursion</a>(</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> &amp;memo, &amp;visited, s, t) == <span class="keyword">true</span>);</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> assert(dynamic_programming::abbreviation::abbreviation(s, t) == <span class="keyword">true</span>);</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> assert(<a class="code hl_function" href="../../d7/d73/abbreviation_8cpp.html#af53b2f647bee9c5b75ef8dd9ef685dc8">dynamic_programming::abbreviation::abbreviation</a>(s, t) == <span class="keyword">true</span>);</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> s = <span class="stringliteral">&quot;XXVVnDEFYgYeMXzWINQYHAQKKOZEYgSRCzLZAmUYGUGILjMDET&quot;</span>;</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> t = <span class="stringliteral">&quot;XXVVDEFYYMXWINQYHAQKKOZEYSRCLZAUYGUGILMDETQVWU&quot;</span>;</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> memo = std::vector&lt;std::vector&lt;bool&gt;&gt;(</div>
@@ -220,9 +222,9 @@ $(function(){initNavTree('d7/d73/abbreviation_8cpp_source.html','../../'); initR
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> visited = std::vector&lt;std::vector&lt;bool&gt;&gt;(</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> s.size() + 1, std::vector&lt;bool&gt;(t.size() + 1, <span class="keyword">false</span>));</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> </div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> assert(dynamic_programming::abbreviation::abbreviation_recursion(</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> assert(<a class="code hl_function" href="../../d7/d73/abbreviation_8cpp.html#add60b8858720bf217df22d992d0fefaa">dynamic_programming::abbreviation::abbreviation_recursion</a>(</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> &amp;memo, &amp;visited, s, t) == <span class="keyword">false</span>);</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> assert(dynamic_programming::abbreviation::abbreviation(s, t) == <span class="keyword">false</span>);</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> assert(<a class="code hl_function" href="../../d7/d73/abbreviation_8cpp.html#af53b2f647bee9c5b75ef8dd9ef685dc8">dynamic_programming::abbreviation::abbreviation</a>(s, t) == <span class="keyword">false</span>);</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> </div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> s = <span class="stringliteral">&quot;DRFNLZZVHLPZWIupjwdmqafmgkg&quot;</span>;</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> t = <span class="stringliteral">&quot;DRFNLZZVHLPZWI&quot;</span>;</div>
@@ -233,12 +235,12 @@ $(function(){initNavTree('d7/d73/abbreviation_8cpp_source.html','../../'); initR
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> visited = std::vector&lt;std::vector&lt;bool&gt;&gt;(</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> s.size() + 1, std::vector&lt;bool&gt;(t.size() + 1, <span class="keyword">false</span>));</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> </div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> assert(dynamic_programming::abbreviation::abbreviation_recursion(</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> assert(<a class="code hl_function" href="../../d7/d73/abbreviation_8cpp.html#add60b8858720bf217df22d992d0fefaa">dynamic_programming::abbreviation::abbreviation_recursion</a>(</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> &amp;memo, &amp;visited, s, t) == <span class="keyword">true</span>);</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> assert(dynamic_programming::abbreviation::abbreviation(s, t) == <span class="keyword">true</span>);</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> assert(<a class="code hl_function" href="../../d7/d73/abbreviation_8cpp.html#af53b2f647bee9c5b75ef8dd9ef685dc8">dynamic_programming::abbreviation::abbreviation</a>(s, t) == <span class="keyword">true</span>);</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span>}</div>
</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> </div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span></div>
<div class="foldopen" id="foldopen00192" data-start="{" data-end="}">
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"><a class="line" href="../../d7/d73/abbreviation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4"> 192</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d7/d73/abbreviation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <a class="code hl_function" href="../../d7/d73/abbreviation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// run self-test implementations</span></div>
@@ -248,6 +250,7 @@ $(function(){initNavTree('d7/d73/abbreviation_8cpp_source.html','../../'); initR
<div class="ttc" id="aabbreviation_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="../../d7/d73/abbreviation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdoc">Self test-implementations.</div><div class="ttdef"><b>Definition</b> <a href="#l00153">abbreviation.cpp:153</a></div></div>
<div class="ttc" id="aabbreviation_8cpp_html_add60b8858720bf217df22d992d0fefaa"><div class="ttname"><a href="../../d7/d73/abbreviation_8cpp.html#add60b8858720bf217df22d992d0fefaa">dynamic_programming::abbreviation::abbreviation_recursion</a></div><div class="ttdeci">bool abbreviation_recursion(std::vector&lt; std::vector&lt; bool &gt; &gt; *memo, std::vector&lt; std::vector&lt; bool &gt; &gt; *visited, const std::string &amp;str, const std::string &amp;result, uint32_t str_idx=0, uint32_t result_idx=0)</div><div class="ttdoc">Recursive Dynamic Programming function.</div><div class="ttdef"><b>Definition</b> <a href="#l00059">abbreviation.cpp:59</a></div></div>
<div class="ttc" id="aabbreviation_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d7/d73/abbreviation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdoc">Main function.</div><div class="ttdef"><b>Definition</b> <a href="#l00192">abbreviation.cpp:192</a></div></div>
<div class="ttc" id="aabbreviation_8cpp_html_af53b2f647bee9c5b75ef8dd9ef685dc8"><div class="ttname"><a href="../../d7/d73/abbreviation_8cpp.html#af53b2f647bee9c5b75ef8dd9ef685dc8">dynamic_programming::abbreviation::abbreviation</a></div><div class="ttdeci">bool abbreviation(const std::string &amp;str, const std::string &amp;result)</div><div class="ttdoc">Iterative Dynamic Programming function.</div><div class="ttdef"><b>Definition</b> <a href="#l00119">abbreviation.cpp:119</a></div></div>
<div class="ttc" id="anamespaceabbreviation_html"><div class="ttname"><a href="../../d0/df8/namespaceabbreviation.html">abbreviation</a></div><div class="ttdoc">Functions for Abbreviation implementation.</div></div>
<div class="ttc" id="anamespacedynamic__programming_html"><div class="ttname"><a href="../../dd/d24/namespacedynamic__programming.html">dynamic_programming</a></div><div class="ttdoc">Dynamic Programming algorithms.</div></div>
</div><!-- fragment --></div><!-- contents -->
@@ -256,7 +259,7 @@ $(function(){initNavTree('d7/d73/abbreviation_8cpp_source.html','../../'); initR
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_8a20dd5bfd5341a725342bf72b6b686f.html">dynamic_programming</a></li><li class="navelem"><a class="el" href="../../d7/d73/abbreviation_8cpp.html">abbreviation.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: others/postfix_evaluation.cpp File Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -328,8 +328,8 @@ Functions</h2></td></tr>
<div class="line"><span class="lineno"> 176</span> </div>
<div class="line"><span class="lineno"> 177</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><span class="lineno"> 178</span>}</div>
<div class="ttc" id="apostfix__evaluation_8cpp_html_a5b97d12e8b61484f756a8721992bfae1"><div class="ttname"><a href="#a5b97d12e8b61484f756a8721992bfae1">test_function_2</a></div><div class="ttdeci">static void test_function_2()</div><div class="ttdoc">Test function 2 with input array {'1', '2', '+', '2', '/', '5', '*', '7', '+'}.</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d75/postfix__evaluation_8cpp_source.html#l00159">postfix_evaluation.cpp:159</a></div></div>
<div class="ttc" id="apostfix__evaluation_8cpp_html_a6a8eeb7d346d5cd6335d9780fb7c0f15"><div class="ttname"><a href="#a6a8eeb7d346d5cd6335d9780fb7c0f15">test_function_1</a></div><div class="ttdeci">static void test_function_1()</div><div class="ttdoc">Test function 1 with input array {'2', '3', '1', '*', '+', '9', '-'}.</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d75/postfix__evaluation_8cpp_source.html#l00146">postfix_evaluation.cpp:146</a></div></div>
<div class="ttc" id="apostfix__evaluation_8cpp_html_a5b97d12e8b61484f756a8721992bfae1"><div class="ttname"><a href="#a5b97d12e8b61484f756a8721992bfae1">test_function_2</a></div><div class="ttdeci">static void test_function_2()</div><div class="ttdoc">Test function 2 with input array {&#39;1&#39;, &#39;2&#39;, &#39;+&#39;, &#39;2&#39;, &#39;/&#39;, &#39;5&#39;, &#39;*&#39;, &#39;7&#39;, &#39;+&#39;}.</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d75/postfix__evaluation_8cpp_source.html#l00159">postfix_evaluation.cpp:159</a></div></div>
<div class="ttc" id="apostfix__evaluation_8cpp_html_a6a8eeb7d346d5cd6335d9780fb7c0f15"><div class="ttname"><a href="#a6a8eeb7d346d5cd6335d9780fb7c0f15">test_function_1</a></div><div class="ttdeci">static void test_function_1()</div><div class="ttdoc">Test function 1 with input array {&#39;2&#39;, &#39;3&#39;, &#39;1&#39;, &#39;*&#39;, &#39;+&#39;, &#39;9&#39;, &#39;-&#39;}.</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d75/postfix__evaluation_8cpp_source.html#l00146">postfix_evaluation.cpp:146</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -401,30 +401,30 @@ template&lt;std::size_t N&gt; </div>
<p class="definition">Definition at line <a class="el" href="../../d7/d75/postfix__evaluation_8cpp_source.html#l00115">115</a> of file <a class="el" href="../../d7/d75/postfix__evaluation_8cpp_source.html">postfix_evaluation.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 115</span> {</div>
<div class="line"><span class="lineno"> 116</span> Stack <a class="code hl_variable" href="../../dc/dc5/paranthesis__matching_8cpp.html#aa37d24a036d239b3b528f13b9de880c7">stack</a>;</div>
<div class="line"><span class="lineno"> 116</span> <a class="code hl_class" href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html">Stack</a> <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>;</div>
<div class="line"><span class="lineno"> 117</span> <span class="keywordtype">int</span> j = 0;</div>
<div class="line"><span class="lineno"> 118</span> </div>
<div class="line"><span class="lineno"> 119</span> <span class="keywordflow">while</span> (j &lt; N) {</div>
<div class="line"><span class="lineno"> 120</span> std::string scan = input[j];</div>
<div class="line"><span class="lineno"> 121</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d8/d41/namespacegames_1_1memory__game.html#a33167bb9cce6d527b478b4f6ae8c3f59">is_number</a>(scan)) {</div>
<div class="line"><span class="lineno"> 122</span> push(std::stof(scan), &amp;<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>);</div>
<div class="line"><span class="lineno"> 121</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="#a4c27f949c9d6659be9f5bd2ccbe1360a">is_number</a>(scan)) {</div>
<div class="line"><span class="lineno"> 122</span> <a class="code hl_function" href="#ad77f8c9cc594975756838d498c237cea">push</a>(std::stof(scan), &amp;<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>);</div>
<div class="line"><span class="lineno"> 123</span> </div>
<div class="line"><span class="lineno"> 124</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><span class="lineno"> 125</span> <span class="keywordtype">float</span> op2 = pop(&amp;<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>);</div>
<div class="line"><span class="lineno"> 126</span> <span class="keywordtype">float</span> op1 = pop(&amp;<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>);</div>
<div class="line"><span class="lineno"> 127</span> </div>
<div class="line"><span class="lineno"> 128</span> <a class="code hl_function" href="#a59fd597e0ea394abe027ced4d2ea3338">evaluate</a>(op1, op2, scan, &amp;<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>);</div>
<div class="line"><span class="lineno"> 128</span> evaluate(op1, op2, scan, &amp;<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>);</div>
<div class="line"><span class="lineno"> 129</span> }</div>
<div class="line"><span class="lineno"> 130</span> j++;</div>
<div class="line"><span class="lineno"> 131</span> }</div>
<div class="line"><span class="lineno"> 132</span> </div>
<div class="line"><span class="lineno"> 133</span> std::cout &lt;&lt; <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>.stack[<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>.<a class="code hl_variable" href="../../d1/dc2/classstack.html#aefb3dac828e32b4ec014ff4b5d43a6b8">stackTop</a>] &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 133</span> std::cout &lt;&lt; <a class="code hl_variable" href="../../dc/dc5/paranthesis__matching_8cpp.html#aa37d24a036d239b3b528f13b9de880c7">stack</a>.stack[<a class="code hl_variable" href="../../dc/dc5/paranthesis__matching_8cpp.html#aa37d24a036d239b3b528f13b9de880c7">stack</a>.stackTop] &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 134</span> </div>
<div class="line"><span class="lineno"> 135</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>.stack[<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>.<a class="code hl_variable" href="../../d1/dc2/classstack.html#aefb3dac828e32b4ec014ff4b5d43a6b8">stackTop</a>];</div>
<div class="line"><span class="lineno"> 135</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="../../dc/dc5/paranthesis__matching_8cpp.html#aa37d24a036d239b3b528f13b9de880c7">stack</a>.stack[<a class="code hl_variable" href="../../dc/dc5/paranthesis__matching_8cpp.html#aa37d24a036d239b3b528f13b9de880c7">stack</a>.stackTop];</div>
<div class="line"><span class="lineno"> 136</span>}</div>
<div class="ttc" id="anamespacegames_1_1memory__game_html_a33167bb9cce6d527b478b4f6ae8c3f59"><div class="ttname"><a href="../../d8/d41/namespacegames_1_1memory__game.html#a33167bb9cce6d527b478b4f6ae8c3f59">games::memory_game::is_number</a></div><div class="ttdeci">bool is_number(const T &amp;input)</div><div class="ttdoc">Utility function to verify if the given input is a number or not. This is very useful to prevent the ...</div><div class="ttdef"><b>Definition</b> <a href="../../dd/d92/memory__game_8cpp_source.html#l00062">memory_game.cpp:62</a></div></div>
<div class="ttc" id="aclassothers_1_1postfix__expression_1_1_stack_html"><div class="ttname"><a href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html">others::postfix_expression::Stack</a></div><div class="ttdoc">Creates an array to be used as stack for storing values.</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d75/postfix__evaluation_8cpp_source.html#l00032">postfix_evaluation.cpp:32</a></div></div>
<div class="ttc" id="aparanthesis__matching_8cpp_html_aa37d24a036d239b3b528f13b9de880c7"><div class="ttname"><a href="../../dc/dc5/paranthesis__matching_8cpp.html#aa37d24a036d239b3b528f13b9de880c7">stack</a></div><div class="ttdeci">char stack[MAX]</div><div class="ttdef"><b>Definition</b> <a href="../../dc/dc5/paranthesis__matching_8cpp_source.html#l00020">paranthesis_matching.cpp:20</a></div></div>
<div class="ttc" id="apostfix__evaluation_8cpp_html_a59fd597e0ea394abe027ced4d2ea3338"><div class="ttname"><a href="#a59fd597e0ea394abe027ced4d2ea3338">others::postfix_expression::evaluate</a></div><div class="ttdeci">void evaluate(float a, float b, const std::string &amp;operation, Stack *stack)</div><div class="ttdoc">Evaluate answer using given last two operands from and operation.</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d75/postfix__evaluation_8cpp_source.html#l00077">postfix_evaluation.cpp:77</a></div></div>
<div class="ttc" id="apostfix__evaluation_8cpp_html_a4c27f949c9d6659be9f5bd2ccbe1360a"><div class="ttname"><a href="#a4c27f949c9d6659be9f5bd2ccbe1360a">others::postfix_expression::is_number</a></div><div class="ttdeci">bool is_number(const std::string &amp;s)</div><div class="ttdoc">Checks if scanned string is a number.</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d75/postfix__evaluation_8cpp_source.html#l00065">postfix_evaluation.cpp:65</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -483,7 +483,7 @@ template&lt;std::size_t N&gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -521,7 +521,7 @@ template&lt;std::size_t N&gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -546,7 +546,7 @@ template&lt;std::size_t N&gt; </div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_9510827d0b234b3cc54b29892f217477.html">others</a></li><li class="navelem"><a class="el" href="../../d7/d75/postfix__evaluation_8cpp.html">postfix_evaluation.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,12 +1,12 @@
var postfix__evaluation_8cpp =
[
[ "others::postfix_expression::Stack", "d5/d8a/classothers_1_1postfix__expression_1_1_stack.html", "d5/d8a/classothers_1_1postfix__expression_1_1_stack" ],
[ "evaluate", "d7/d75/postfix__evaluation_8cpp.html#a59fd597e0ea394abe027ced4d2ea3338", null ],
[ "is_number", "d7/d75/postfix__evaluation_8cpp.html#a4c27f949c9d6659be9f5bd2ccbe1360a", null ],
[ "others::postfix_expression::evaluate", "d7/d75/postfix__evaluation_8cpp.html#a59fd597e0ea394abe027ced4d2ea3338", null ],
[ "others::postfix_expression::is_number", "d7/d75/postfix__evaluation_8cpp.html#a4c27f949c9d6659be9f5bd2ccbe1360a", null ],
[ "main", "d7/d75/postfix__evaluation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ],
[ "pop", "d7/d75/postfix__evaluation_8cpp.html#a421baa2002a64bc0bfc3e1b64800d734", null ],
[ "postfix_evaluation", "d7/d75/postfix__evaluation_8cpp.html#ae38bd3a177a6d61da3859a281233bbe1", null ],
[ "push", "d7/d75/postfix__evaluation_8cpp.html#ad77f8c9cc594975756838d498c237cea", null ],
[ "others::postfix_expression::pop", "d7/d75/postfix__evaluation_8cpp.html#a421baa2002a64bc0bfc3e1b64800d734", null ],
[ "others::postfix_expression::postfix_evaluation", "d7/d75/postfix__evaluation_8cpp.html#ae38bd3a177a6d61da3859a281233bbe1", null ],
[ "others::postfix_expression::push", "d7/d75/postfix__evaluation_8cpp.html#ad77f8c9cc594975756838d498c237cea", null ],
[ "test_function_1", "d7/d75/postfix__evaluation_8cpp.html#a6a8eeb7d346d5cd6335d9780fb7c0f15", null ],
[ "test_function_2", "d7/d75/postfix__evaluation_8cpp.html#a5b97d12e8b61484f756a8721992bfae1", null ]
];

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: others/postfix_evaluation.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -124,44 +124,44 @@ $(function(){initNavTree('d7/d75/postfix__evaluation_8cpp_source.html','../../')
<div class="headertitle"><div class="title">postfix_evaluation.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d75/postfix__evaluation_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<a href="../../d7/d75/postfix__evaluation_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &lt;algorithm&gt;</span> <span class="comment">// for all_of</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;array&gt;</span> <span class="comment">// for std::array</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;cassert&gt;</span> <span class="comment">// for assert</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;iostream&gt;</span> <span class="comment">// for io operations</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &lt;string&gt;</span> <span class="comment">// for stof</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d0/d6f/namespaceothers.html">others</a> {</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d4/de6/namespacepostfix__expression.html">postfix_expression</a> {</div>
<div class="foldopen" id="foldopen00032" data-start="{" data-end="};">
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html"> 32</a></span><span class="keyword">class </span><a class="code hl_class" href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html">Stack</a> {</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html#af06360122e20ce2ba32c574a27a20ba1"> 34</a></span> std::array&lt;float, 20&gt; <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>{}; </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html#af06360122e20ce2ba32c574a27a20ba1"> 34</a></span> std::array&lt;float, 20&gt; <a class="code hl_variable" href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html#af06360122e20ce2ba32c574a27a20ba1">stack</a>{}; </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html#a6ae98710503b894b843d01cb69d5490c"> 35</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html#a6ae98710503b894b843d01cb69d5490c">stackTop</a> = -1; </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span>};</div>
</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span></div>
<div class="foldopen" id="foldopen00044" data-start="{" data-end="}">
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="../../d7/d75/postfix__evaluation_8cpp.html#ad77f8c9cc594975756838d498c237cea"> 44</a></span><span class="keywordtype">void</span> push(<span class="keywordtype">float</span> operand, <a class="code hl_class" href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html">Stack</a> *<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>) {</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="../../d7/d75/postfix__evaluation_8cpp.html#ad77f8c9cc594975756838d498c237cea"> 44</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d7/d75/postfix__evaluation_8cpp.html#ad77f8c9cc594975756838d498c237cea">push</a>(<span class="keywordtype">float</span> operand, <a class="code hl_class" href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html">Stack</a> *<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>) {</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>-&gt;<a class="code hl_variable" href="../../d1/dc2/classstack.html#aefb3dac828e32b4ec014ff4b5d43a6b8">stackTop</a>++;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>-&gt;stack[<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>-&gt;<a class="code hl_variable" href="../../d1/dc2/classstack.html#aefb3dac828e32b4ec014ff4b5d43a6b8">stackTop</a>] = operand;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span>}</div>
</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span></div>
<div class="foldopen" id="foldopen00054" data-start="{" data-end="}">
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="../../d7/d75/postfix__evaluation_8cpp.html#a421baa2002a64bc0bfc3e1b64800d734"> 54</a></span><span class="keywordtype">float</span> pop(<a class="code hl_class" href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html">Stack</a> *<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>) {</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="../../d7/d75/postfix__evaluation_8cpp.html#a421baa2002a64bc0bfc3e1b64800d734"> 54</a></span><span class="keywordtype">float</span> <a class="code hl_function" href="../../d7/d75/postfix__evaluation_8cpp.html#a421baa2002a64bc0bfc3e1b64800d734">pop</a>(<a class="code hl_class" href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html">Stack</a> *<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>) {</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">float</span> operand = <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>-&gt;stack[<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>-&gt;<a class="code hl_variable" href="../../d1/dc2/classstack.html#aefb3dac828e32b4ec014ff4b5d43a6b8">stackTop</a>];</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>-&gt;<a class="code hl_variable" href="../../d1/dc2/classstack.html#aefb3dac828e32b4ec014ff4b5d43a6b8">stackTop</a>--;</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">return</span> operand;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span>}</div>
</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span></div>
<div class="foldopen" id="foldopen00065" data-start="{" data-end="}">
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="../../d7/d75/postfix__evaluation_8cpp.html#a4c27f949c9d6659be9f5bd2ccbe1360a"> 65</a></span><span class="keywordtype">bool</span> is_number(<span class="keyword">const</span> std::string &amp;s) {</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="../../d7/d75/postfix__evaluation_8cpp.html#a4c27f949c9d6659be9f5bd2ccbe1360a"> 65</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="../../d7/d75/postfix__evaluation_8cpp.html#a4c27f949c9d6659be9f5bd2ccbe1360a">is_number</a>(<span class="keyword">const</span> std::string &amp;s) {</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">return</span> !s.empty() &amp;&amp; std::all_of(s.begin(), s.end(), ::isdigit);</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span>}</div>
</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span></div>
<div class="foldopen" id="foldopen00077" data-start="{" data-end="}">
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="../../d7/d75/postfix__evaluation_8cpp.html#a59fd597e0ea394abe027ced4d2ea3338"> 77</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d7/d75/postfix__evaluation_8cpp.html#a59fd597e0ea394abe027ced4d2ea3338">evaluate</a>(<span class="keywordtype">float</span> a, <span class="keywordtype">float</span> b, <span class="keyword">const</span> std::string &amp;operation, <a class="code hl_class" href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html">Stack</a> *<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>) {</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">float</span> c = 0;</div>
@@ -193,21 +193,21 @@ $(function(){initNavTree('d7/d75/postfix__evaluation_8cpp_source.html','../../')
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> }</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span>}</div>
</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> N&gt;</div>
<div class="foldopen" id="foldopen00115" data-start="{" data-end="}">
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="../../d7/d75/postfix__evaluation_8cpp.html#ae38bd3a177a6d61da3859a281233bbe1"> 115</a></span><span class="keywordtype">float</span> <a class="code hl_function" href="../../d7/d75/postfix__evaluation_8cpp.html#ae38bd3a177a6d61da3859a281233bbe1">postfix_evaluation</a>(std::array&lt;std::string, N&gt; input) {</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <a class="code hl_class" href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html">Stack</a> <a class="code hl_variable" href="../../dc/dc5/paranthesis__matching_8cpp.html#aa37d24a036d239b3b528f13b9de880c7">stack</a>;</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <a class="code hl_class" href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html">Stack</a> <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>;</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">int</span> j = 0;</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> </div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keywordflow">while</span> (j &lt; N) {</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> std::string scan = input[j];</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">if</span> (is_number(scan)) {</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> push(std::stof(scan), &amp;<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>);</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d7/d75/postfix__evaluation_8cpp.html#a4c27f949c9d6659be9f5bd2ccbe1360a">is_number</a>(scan)) {</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <a class="code hl_function" href="../../d7/d75/postfix__evaluation_8cpp.html#ad77f8c9cc594975756838d498c237cea">push</a>(std::stof(scan), &amp;<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>);</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">float</span> op2 = pop(&amp;<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>);</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">float</span> op1 = pop(&amp;<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>);</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">float</span> op2 = <a class="code hl_function" href="../../d7/d75/postfix__evaluation_8cpp.html#a421baa2002a64bc0bfc3e1b64800d734">pop</a>(&amp;<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>);</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">float</span> op1 = <a class="code hl_function" href="../../d7/d75/postfix__evaluation_8cpp.html#a421baa2002a64bc0bfc3e1b64800d734">pop</a>(&amp;<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>);</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> </div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <a class="code hl_function" href="../../d7/d75/postfix__evaluation_8cpp.html#a59fd597e0ea394abe027ced4d2ea3338">evaluate</a>(op1, op2, scan, &amp;<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>);</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> }</div>
@@ -222,27 +222,27 @@ $(function(){initNavTree('d7/d75/postfix__evaluation_8cpp_source.html','../../')
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span>} <span class="comment">// namespace postfix_expression</span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span>} <span class="comment">// namespace others</span></div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> </div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> </div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span></div>
<div class="foldopen" id="foldopen00146" data-start="{" data-end="}">
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="../../d7/d75/postfix__evaluation_8cpp.html#a6a8eeb7d346d5cd6335d9780fb7c0f15"> 146</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d7/d75/postfix__evaluation_8cpp.html#a6a8eeb7d346d5cd6335d9780fb7c0f15">test_function_1</a>() {</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> std::array&lt;std::string, 7&gt; input = {<span class="stringliteral">&quot;2&quot;</span>, <span class="stringliteral">&quot;3&quot;</span>, <span class="stringliteral">&quot;1&quot;</span>, <span class="stringliteral">&quot;*&quot;</span>, <span class="stringliteral">&quot;+&quot;</span>, <span class="stringliteral">&quot;9&quot;</span>, <span class="stringliteral">&quot;-&quot;</span>};</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> </div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">float</span> answer = others::postfix_expression::postfix_evaluation(input);</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">float</span> answer = <a class="code hl_function" href="../../d7/d75/postfix__evaluation_8cpp.html#ae38bd3a177a6d61da3859a281233bbe1">others::postfix_expression::postfix_evaluation</a>(input);</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> assert(answer == -4);</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span>}</div>
</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> </div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span></div>
<div class="foldopen" id="foldopen00159" data-start="{" data-end="}">
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"><a class="line" href="../../d7/d75/postfix__evaluation_8cpp.html#a5b97d12e8b61484f756a8721992bfae1"> 159</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d7/d75/postfix__evaluation_8cpp.html#a5b97d12e8b61484f756a8721992bfae1">test_function_2</a>() {</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> std::array&lt;std::string, 9&gt; input = {<span class="stringliteral">&quot;100&quot;</span>, <span class="stringliteral">&quot;200&quot;</span>, <span class="stringliteral">&quot;+&quot;</span>, <span class="stringliteral">&quot;2&quot;</span>, <span class="stringliteral">&quot;/&quot;</span>,</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="stringliteral">&quot;5&quot;</span>, <span class="stringliteral">&quot;*&quot;</span>, <span class="stringliteral">&quot;7&quot;</span>, <span class="stringliteral">&quot;+&quot;</span>};</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">float</span> answer = others::postfix_expression::postfix_evaluation(input);</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">float</span> answer = <a class="code hl_function" href="../../d7/d75/postfix__evaluation_8cpp.html#ae38bd3a177a6d61da3859a281233bbe1">others::postfix_expression::postfix_evaluation</a>(input);</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> </div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> assert(answer == 757);</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span>}</div>
</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> </div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span></div>
<div class="foldopen" id="foldopen00171" data-start="{" data-end="}">
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"><a class="line" href="../../d7/d75/postfix__evaluation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4"> 171</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d7/d75/postfix__evaluation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <a class="code hl_function" href="../../d7/d75/postfix__evaluation_8cpp.html#a6a8eeb7d346d5cd6335d9780fb7c0f15">test_function_1</a>();</div>
@@ -255,14 +255,16 @@ $(function(){initNavTree('d7/d75/postfix__evaluation_8cpp_source.html','../../')
</div>
<div class="ttc" id="aclassothers_1_1postfix__expression_1_1_stack_html"><div class="ttname"><a href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html">others::postfix_expression::Stack</a></div><div class="ttdoc">Creates an array to be used as stack for storing values.</div><div class="ttdef"><b>Definition</b> <a href="#l00032">postfix_evaluation.cpp:32</a></div></div>
<div class="ttc" id="aclassothers_1_1postfix__expression_1_1_stack_html_a6ae98710503b894b843d01cb69d5490c"><div class="ttname"><a href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html#a6ae98710503b894b843d01cb69d5490c">others::postfix_expression::Stack::stackTop</a></div><div class="ttdeci">int stackTop</div><div class="ttdoc">Represents the index of the last value added to array. -1 means array is empty.</div><div class="ttdef"><b>Definition</b> <a href="#l00035">postfix_evaluation.cpp:35</a></div></div>
<div class="ttc" id="aclassothers_1_1postfix__expression_1_1_stack_html_af06360122e20ce2ba32c574a27a20ba1"><div class="ttname"><a href="../../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html#af06360122e20ce2ba32c574a27a20ba1">others::postfix_expression::Stack::stack</a></div><div class="ttdeci">std::array&lt; float, 20 &gt; stack</div><div class="ttdoc">Array which will be used to store numbers in the input.</div><div class="ttdef"><b>Definition</b> <a href="#l00034">postfix_evaluation.cpp:34</a></div></div>
<div class="ttc" id="aclassstack_html"><div class="ttname"><a href="../../d1/dc2/classstack.html">stack</a></div><div class="ttdoc">for std::invalid_argument</div><div class="ttdef"><b>Definition</b> <a href="../../df/d47/stack_8hpp_source.html#l00019">stack.hpp:19</a></div></div>
<div class="ttc" id="aclassstack_html_aefb3dac828e32b4ec014ff4b5d43a6b8"><div class="ttname"><a href="../../d1/dc2/classstack.html#aefb3dac828e32b4ec014ff4b5d43a6b8">stack::stackTop</a></div><div class="ttdeci">std::shared_ptr&lt; Node&lt; value_type &gt; &gt; stackTop</div><div class="ttdef"><b>Definition</b> <a href="../../df/d47/stack_8hpp_source.html#l00075">stack.hpp:75</a></div></div>
<div class="ttc" id="anamespaceothers_html"><div class="ttname"><a href="../../d0/d6f/namespaceothers.html">others</a></div><div class="ttdoc">for vector</div></div>
<div class="ttc" id="anamespacepostfix__expression_html"><div class="ttname"><a href="../../d4/de6/namespacepostfix__expression.html">postfix_expression</a></div><div class="ttdoc">Functions for Postfix Expression algorithm.</div></div>
<div class="ttc" id="aparanthesis__matching_8cpp_html_aa37d24a036d239b3b528f13b9de880c7"><div class="ttname"><a href="../../dc/dc5/paranthesis__matching_8cpp.html#aa37d24a036d239b3b528f13b9de880c7">stack</a></div><div class="ttdeci">char stack[MAX]</div><div class="ttdef"><b>Definition</b> <a href="../../dc/dc5/paranthesis__matching_8cpp_source.html#l00020">paranthesis_matching.cpp:20</a></div></div>
<div class="ttc" id="apostfix__evaluation_8cpp_html_a421baa2002a64bc0bfc3e1b64800d734"><div class="ttname"><a href="../../d7/d75/postfix__evaluation_8cpp.html#a421baa2002a64bc0bfc3e1b64800d734">others::postfix_expression::pop</a></div><div class="ttdeci">float pop(Stack *stack)</div><div class="ttdoc">Popping operand, also called the number from the stack.</div><div class="ttdef"><b>Definition</b> <a href="#l00054">postfix_evaluation.cpp:54</a></div></div>
<div class="ttc" id="apostfix__evaluation_8cpp_html_a4c27f949c9d6659be9f5bd2ccbe1360a"><div class="ttname"><a href="../../d7/d75/postfix__evaluation_8cpp.html#a4c27f949c9d6659be9f5bd2ccbe1360a">others::postfix_expression::is_number</a></div><div class="ttdeci">bool is_number(const std::string &amp;s)</div><div class="ttdoc">Checks if scanned string is a number.</div><div class="ttdef"><b>Definition</b> <a href="#l00065">postfix_evaluation.cpp:65</a></div></div>
<div class="ttc" id="apostfix__evaluation_8cpp_html_a59fd597e0ea394abe027ced4d2ea3338"><div class="ttname"><a href="../../d7/d75/postfix__evaluation_8cpp.html#a59fd597e0ea394abe027ced4d2ea3338">others::postfix_expression::evaluate</a></div><div class="ttdeci">void evaluate(float a, float b, const std::string &amp;operation, Stack *stack)</div><div class="ttdoc">Evaluate answer using given last two operands from and operation.</div><div class="ttdef"><b>Definition</b> <a href="#l00077">postfix_evaluation.cpp:77</a></div></div>
<div class="ttc" id="apostfix__evaluation_8cpp_html_a5b97d12e8b61484f756a8721992bfae1"><div class="ttname"><a href="../../d7/d75/postfix__evaluation_8cpp.html#a5b97d12e8b61484f756a8721992bfae1">test_function_2</a></div><div class="ttdeci">static void test_function_2()</div><div class="ttdoc">Test function 2 with input array {'1', '2', '+', '2', '/', '5', '*', '7', '+'}.</div><div class="ttdef"><b>Definition</b> <a href="#l00159">postfix_evaluation.cpp:159</a></div></div>
<div class="ttc" id="apostfix__evaluation_8cpp_html_a6a8eeb7d346d5cd6335d9780fb7c0f15"><div class="ttname"><a href="../../d7/d75/postfix__evaluation_8cpp.html#a6a8eeb7d346d5cd6335d9780fb7c0f15">test_function_1</a></div><div class="ttdeci">static void test_function_1()</div><div class="ttdoc">Test function 1 with input array {'2', '3', '1', '*', '+', '9', '-'}.</div><div class="ttdef"><b>Definition</b> <a href="#l00146">postfix_evaluation.cpp:146</a></div></div>
<div class="ttc" id="apostfix__evaluation_8cpp_html_a5b97d12e8b61484f756a8721992bfae1"><div class="ttname"><a href="../../d7/d75/postfix__evaluation_8cpp.html#a5b97d12e8b61484f756a8721992bfae1">test_function_2</a></div><div class="ttdeci">static void test_function_2()</div><div class="ttdoc">Test function 2 with input array {&#39;1&#39;, &#39;2&#39;, &#39;+&#39;, &#39;2&#39;, &#39;/&#39;, &#39;5&#39;, &#39;*&#39;, &#39;7&#39;, &#39;+&#39;}.</div><div class="ttdef"><b>Definition</b> <a href="#l00159">postfix_evaluation.cpp:159</a></div></div>
<div class="ttc" id="apostfix__evaluation_8cpp_html_a6a8eeb7d346d5cd6335d9780fb7c0f15"><div class="ttname"><a href="../../d7/d75/postfix__evaluation_8cpp.html#a6a8eeb7d346d5cd6335d9780fb7c0f15">test_function_1</a></div><div class="ttdeci">static void test_function_1()</div><div class="ttdoc">Test function 1 with input array {&#39;2&#39;, &#39;3&#39;, &#39;1&#39;, &#39;*&#39;, &#39;+&#39;, &#39;9&#39;, &#39;-&#39;}.</div><div class="ttdef"><b>Definition</b> <a href="#l00146">postfix_evaluation.cpp:146</a></div></div>
<div class="ttc" id="apostfix__evaluation_8cpp_html_ad77f8c9cc594975756838d498c237cea"><div class="ttname"><a href="../../d7/d75/postfix__evaluation_8cpp.html#ad77f8c9cc594975756838d498c237cea">others::postfix_expression::push</a></div><div class="ttdeci">void push(float operand, Stack *stack)</div><div class="ttdoc">Pushing operand, also called the number in the array to the stack.</div><div class="ttdef"><b>Definition</b> <a href="#l00044">postfix_evaluation.cpp:44</a></div></div>
<div class="ttc" id="apostfix__evaluation_8cpp_html_ae38bd3a177a6d61da3859a281233bbe1"><div class="ttname"><a href="../../d7/d75/postfix__evaluation_8cpp.html#ae38bd3a177a6d61da3859a281233bbe1">others::postfix_expression::postfix_evaluation</a></div><div class="ttdeci">float postfix_evaluation(std::array&lt; std::string, N &gt; input)</div><div class="ttdoc">Postfix Evaluation algorithm to compute the value from given input array.</div><div class="ttdef"><b>Definition</b> <a href="#l00115">postfix_evaluation.cpp:115</a></div></div>
<div class="ttc" id="apostfix__evaluation_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d7/d75/postfix__evaluation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdoc">Main function.</div><div class="ttdef"><b>Definition</b> <a href="#l00171">postfix_evaluation.cpp:171</a></div></div>
@@ -272,7 +274,7 @@ $(function(){initNavTree('d7/d75/postfix__evaluation_8cpp_source.html','../../')
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_9510827d0b234b3cc54b29892f217477.html">others</a></li><li class="navelem"><a class="el" href="../../d7/d75/postfix__evaluation_8cpp.html">postfix_evaluation.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: std::is_unsigned&lt; uint256_t &gt; Pages: 1 -->
<svg width="153pt" height="83pt"

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: std::is_unsigned&lt; uint256_t &gt; Pages: 1 -->
<svg width="153pt" height="83pt"

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: Edge Struct Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -187,7 +187,7 @@ Public Attributes</h2></td></tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -296,7 +296,7 @@ Public Attributes</h2></td></tr>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d7/d77/class_edge.html">Edge</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: binomial Namespace Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -135,7 +135,7 @@ $(function(){initNavTree('d7/d7a/namespacebinomial.html','../../'); initResizabl
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d7/d7a/namespacebinomial.html">binomial</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: statistics::stats_computer1&lt; T &gt; Class Template Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -174,7 +174,7 @@ class statistics::stats_computer1&lt; T &gt;</div><p>continuous mean and varianc
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -188,7 +188,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -205,7 +205,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -219,7 +219,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -233,12 +233,13 @@ template&lt;typename T &gt; </div>
<p class="definition">Definition at line <a class="el" href="../../d0/d08/realtime__stats_8cpp_source.html#l00032">32</a> of file <a class="el" href="../../d0/d08/realtime__stats_8cpp_source.html">realtime_stats.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 32</span> {</div>
<div class="line"><span class="lineno"> 33</span> <span class="keywordflow">if</span> (n == 0)</div>
<div class="line"><span class="lineno"> 34</span> K = x;</div>
<div class="line"><span class="lineno"> 34</span> K = <a class="code hl_class" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">x</a>;</div>
<div class="line"><span class="lineno"> 35</span> n++;</div>
<div class="line"><span class="lineno"> 36</span> T tmp = x - K;</div>
<div class="line"><span class="lineno"> 37</span> Ex += tmp;</div>
<div class="line"><span class="lineno"> 38</span> Ex2 += <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(tmp) * tmp;</div>
<div class="line"><span class="lineno"> 36</span> <a class="code hl_class" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">T</a> <a class="code hl_class" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">tmp</a> = <a class="code hl_class" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">x</a> - K;</div>
<div class="line"><span class="lineno"> 37</span> Ex += <a class="code hl_class" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">tmp</a>;</div>
<div class="line"><span class="lineno"> 38</span> Ex2 += <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(<a class="code hl_class" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">tmp</a>) * <a class="code hl_class" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">tmp</a>;</div>
<div class="line"><span class="lineno"> 39</span> }</div>
<div class="ttc" id="aclassstatistics_1_1stats__computer1_html"><div class="ttname"><a href="../../d7/d7c/classstatistics_1_1stats__computer1.html">statistics::stats_computer1</a></div><div class="ttdef"><b>Definition</b> <a href="../../d0/d08/realtime__stats_8cpp_source.html#l00027">realtime_stats.cpp:27</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -248,7 +249,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -262,14 +263,14 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>return sample standard deviation computed till last sample </p>
<p class="definition">Definition at line <a class="el" href="../../d0/d08/realtime__stats_8cpp_source.html#l00048">48</a> of file <a class="el" href="../../d0/d08/realtime__stats_8cpp_source.html">realtime_stats.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 48</span>{ <span class="keywordflow">return</span> std::sqrt(this-&gt;<a class="code hl_function" href="#a27f0a03e2fd2254f1c81fe668226bd92">variance</a>()); }</div>
<div class="fragment"><div class="line"><span class="lineno"> 48</span>{ <span class="keywordflow">return</span> <a class="code hl_class" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">std::sqrt</a>(this-&gt;<a class="code hl_function" href="#a27f0a03e2fd2254f1c81fe668226bd92">variance</a>()); }</div>
<div class="ttc" id="aclassstatistics_1_1stats__computer1_html_a27f0a03e2fd2254f1c81fe668226bd92"><div class="ttname"><a href="#a27f0a03e2fd2254f1c81fe668226bd92">statistics::stats_computer1::variance</a></div><div class="ttdeci">double variance() const</div><div class="ttdef"><b>Definition</b> <a href="../../d0/d08/realtime__stats_8cpp_source.html#l00045">realtime_stats.cpp:45</a></div></div>
</div><!-- fragment -->
</div>
@@ -280,7 +281,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -294,7 +295,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -312,7 +313,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -330,7 +331,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
<span class="mlabels"><span class="mlabel friend">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -339,10 +340,10 @@ template&lt;typename T &gt; </div>
<p class="definition">Definition at line <a class="el" href="../../d0/d08/realtime__stats_8cpp_source.html#l00053">53</a> of file <a class="el" href="../../d0/d08/realtime__stats_8cpp_source.html">realtime_stats.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 54</span> {</div>
<div class="line"><span class="lineno"> 55</span> T val;</div>
<div class="line"><span class="lineno"> 56</span> input &gt;&gt; val;</div>
<div class="line"><span class="lineno"> 57</span> stat.<a class="code hl_function" href="#aa13bf7c38de112f71921a5525d71a2f2">new_val</a>(val);</div>
<div class="line"><span class="lineno"> 58</span> <span class="keywordflow">return</span> input;</div>
<div class="line"><span class="lineno"> 55</span> <a class="code hl_class" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">T</a> <a class="code hl_class" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">val</a>;</div>
<div class="line"><span class="lineno"> 56</span> <a class="code hl_class" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">input</a> &gt;&gt; <a class="code hl_class" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">val</a>;</div>
<div class="line"><span class="lineno"> 57</span> <a class="code hl_class" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">stat</a>.<a class="code hl_function" href="#aa13bf7c38de112f71921a5525d71a2f2">new_val</a>(<a class="code hl_class" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">val</a>);</div>
<div class="line"><span class="lineno"> 58</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">input</a>;</div>
<div class="line"><span class="lineno"> 59</span> }</div>
<div class="ttc" id="aclassstatistics_1_1stats__computer1_html_aa13bf7c38de112f71921a5525d71a2f2"><div class="ttname"><a href="#aa13bf7c38de112f71921a5525d71a2f2">statistics::stats_computer1::new_val</a></div><div class="ttdeci">void new_val(T x)</div><div class="ttdef"><b>Definition</b> <a href="../../d0/d08/realtime__stats_8cpp_source.html#l00032">realtime_stats.cpp:32</a></div></div>
</div><!-- fragment -->
@@ -355,7 +356,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -366,7 +367,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -381,7 +382,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -392,7 +393,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -407,7 +408,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -418,7 +419,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -433,7 +434,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -444,7 +445,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -462,7 +463,7 @@ template&lt;typename T &gt; </div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d2/dcf/namespacestatistics.html">statistics</a></li><li class="navelem"><a class="el" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">stats_computer1</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: bit_manipulation Namespace Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -261,7 +261,7 @@ Functions</h2></td></tr>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d7/d81/namespacebit__manipulation.html">bit_manipulation</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: data_structures/trie_tree.cpp File Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -222,7 +222,7 @@ Functions</h2></td></tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -233,7 +233,7 @@ Functions</h2></td></tr>
<p class="definition">Definition at line <a class="el" href="../../d7/d83/trie__tree_8cpp_source.html#l00178">178</a> of file <a class="el" href="../../d7/d83/trie__tree_8cpp_source.html">trie_tree.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 178</span> {</div>
<div class="line"><span class="lineno"> 179</span> <a class="code hl_class" href="../../d0/d3e/classdata__structures_1_1trie.html">data_structures::trie</a> root;</div>
<div class="line"><span class="lineno"> 180</span> root.insert(<span class="stringliteral">&quot;Hello&quot;</span>);</div>
<div class="line"><span class="lineno"> 180</span> root.<a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#a0ab94bc6417e3f59fab33cea5b64d546">insert</a>(<span class="stringliteral">&quot;Hello&quot;</span>);</div>
<div class="line"><span class="lineno"> 181</span> root.insert(<span class="stringliteral">&quot;World&quot;</span>);</div>
<div class="line"><span class="lineno"> 182</span> </div>
<div class="line"><span class="lineno"> 183</span> assert(!root.search(<span class="stringliteral">&quot;hello&quot;</span>, 0));</div>
@@ -254,6 +254,7 @@ Functions</h2></td></tr>
<div class="line"><span class="lineno"> 198</span> <span class="comment">// std::cout &lt;&lt; &quot;hello - &quot; &lt;&lt; root.search(&quot;world&quot;, 0) &lt;&lt; &quot;\n&quot;;</span></div>
<div class="line"><span class="lineno"> 199</span>}</div>
<div class="ttc" id="aclassdata__structures_1_1trie_html"><div class="ttname"><a href="../../d0/d3e/classdata__structures_1_1trie.html">data_structures::trie</a></div><div class="ttdoc">Trie implementation for small-case English alphabets a-z</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d83/trie__tree_8cpp_source.html#l00025">trie_tree.cpp:25</a></div></div>
<div class="ttc" id="aclassdata__structures_1_1trie_html_a0ab94bc6417e3f59fab33cea5b64d546"><div class="ttname"><a href="../../d0/d3e/classdata__structures_1_1trie.html#a0ab94bc6417e3f59fab33cea5b64d546">data_structures::trie::insert</a></div><div class="ttdeci">void insert(const std::string &amp;str)</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d83/trie__tree_8cpp_source.html#l00077">trie_tree.cpp:77</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -263,7 +264,7 @@ Functions</h2></td></tr>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html">data_structures</a></li><li class="navelem"><a class="el" href="../../d7/d83/trie__tree_8cpp.html">trie_tree.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: data_structures/trie_tree.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -124,22 +124,22 @@ $(function(){initNavTree('d7/d83/trie__tree_8cpp_source.html','../../'); initRes
<div class="headertitle"><div class="title">trie_tree.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d83/trie__tree_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<a href="../../d7/d83/trie__tree_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &lt;array&gt;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &lt;cassert&gt;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d5/d3c/namespacedata__structures.html">data_structures</a> {</div>
<div class="foldopen" id="foldopen00025" data-start="{" data-end="};">
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="../../d0/d3e/classdata__structures_1_1trie.html"> 25</a></span><span class="keyword">class </span><a class="code hl_class" href="../../d0/d3e/classdata__structures_1_1trie.html">trie</a> {</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="../../d0/d3e/classdata__structures_1_1trie.html"> 25</a></span><span class="keyword">class </span><a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8">trie</a> {</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="../../d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191"> 27</a></span> <span class="keyword">static</span> <span class="keyword">constexpr</span> uint8_t <a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191">NUM_CHARS</a> = 26; </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b"> 29</a></span> std::array&lt;std::shared_ptr&lt;trie&gt;, <a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191">NUM_CHARS &lt;&lt; 1&gt;</a> <a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="../../d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6"> 30</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6">isEndofWord</a> = <span class="keyword">false</span>; </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span></div>
<div class="foldopen" id="foldopen00038" data-start="{" data-end="}">
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="../../d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988"> 38</a></span> uint8_t <a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988">char_to_int</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>&amp; ch)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keywordflow">if</span> (ch &gt;= <span class="charliteral">&#39;A&#39;</span> &amp;&amp; ch &lt;= <span class="charliteral">&#39;Z&#39;</span>) {</div>
@@ -153,7 +153,7 @@ $(function(){initNavTree('d7/d83/trie__tree_8cpp_source.html','../../'); initRes
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> }</div>
</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span></div>
<div class="foldopen" id="foldopen00056" data-start="{" data-end="}">
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="../../d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63"> 56</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63">search</a>(<span class="keyword">const</span> std::shared_ptr&lt;trie&gt;&amp; root, <span class="keyword">const</span> std::string&amp; str,</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">int</span> index) {</div>
@@ -173,7 +173,7 @@ $(function(){initNavTree('d7/d83/trie__tree_8cpp_source.html','../../'); initRes
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="../../d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8"> 72</a></span> <a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8">trie</a>() = <span class="keywordflow">default</span>; </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span></div>
<div class="foldopen" id="foldopen00077" data-start="{" data-end="}">
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="../../d0/d3e/classdata__structures_1_1trie.html#a0ab94bc6417e3f59fab33cea5b64d546"> 77</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#a0ab94bc6417e3f59fab33cea5b64d546">insert</a>(<span class="keyword">const</span> std::string&amp; str) {</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> std::shared_ptr&lt;trie&gt; root(<span class="keyword">nullptr</span>);</div>
@@ -199,7 +199,7 @@ $(function(){initNavTree('d7/d83/trie__tree_8cpp_source.html','../../'); initRes
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> root-&gt;isEndofWord = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> }</div>
</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> </div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span></div>
<div class="foldopen" id="foldopen00107" data-start="{" data-end="}">
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="../../d0/d3e/classdata__structures_1_1trie.html#a499f87fd833203ef9492b4870aa6d42d"> 107</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#a499f87fd833203ef9492b4870aa6d42d">search</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">int</span> index) {</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">if</span> (index == str.length()) {</div>
@@ -215,7 +215,7 @@ $(function(){initNavTree('d7/d83/trie__tree_8cpp_source.html','../../'); initRes
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">return</span> <a class="code hl_namespace" href="../../d9/dca/namespacesearch.html">search</a>(<a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>[j], str, index + 1);</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> }</div>
</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span></div>
<div class="foldopen" id="foldopen00134" data-start="{" data-end="}">
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"><a class="line" href="../../d0/d3e/classdata__structures_1_1trie.html#aeac27cfd397d2dd3f2f519efffafeeab"> 134</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#aeac27cfd397d2dd3f2f519efffafeeab">deleteString</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">int</span> index) {</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">if</span> (index == str.length()) {</div>
@@ -258,11 +258,11 @@ $(function(){initNavTree('d7/d83/trie__tree_8cpp_source.html','../../'); initRes
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span>};</div>
</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span>} <span class="comment">// namespace data_structures</span></div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> </div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span></div>
<div class="foldopen" id="foldopen00178" data-start="{" data-end="}">
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"><a class="line" href="../../d7/d83/trie__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d"> 178</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d7/d83/trie__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>() {</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <a class="code hl_class" href="../../d0/d3e/classdata__structures_1_1trie.html">data_structures::trie</a> root;</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> root.insert(<span class="stringliteral">&quot;Hello&quot;</span>);</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> root.<a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#a0ab94bc6417e3f59fab33cea5b64d546">insert</a>(<span class="stringliteral">&quot;Hello&quot;</span>);</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> root.insert(<span class="stringliteral">&quot;World&quot;</span>);</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> </div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> assert(!root.search(<span class="stringliteral">&quot;hello&quot;</span>, 0));</div>
@@ -283,7 +283,7 @@ $(function(){initNavTree('d7/d83/trie__tree_8cpp_source.html','../../'); initRes
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <span class="comment">// std::cout &lt;&lt; &quot;hello - &quot; &lt;&lt; root.search(&quot;world&quot;, 0) &lt;&lt; &quot;\n&quot;;</span></div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span>}</div>
</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> </div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span></div>
<div class="foldopen" id="foldopen00205" data-start="{" data-end="}">
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"><a class="line" href="../../d7/d83/trie__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4"> 205</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d7/d83/trie__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <a class="code hl_function" href="../../d7/d83/trie__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>();</div>
@@ -311,7 +311,7 @@ $(function(){initNavTree('d7/d83/trie__tree_8cpp_source.html','../../'); initRes
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html">data_structures</a></li><li class="navelem"><a class="el" href="../../d7/d83/trie__tree_8cpp.html">trie_tree.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: data_structures/doubly_linked_list.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -130,14 +130,14 @@ $(function(){initNavTree('d7/d85/doubly__linked__list_8cpp_source.html','../../'
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span> </div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="keyword">struct </span><a class="code hl_class" href="../../d5/da1/structnode.html">node</a> {</div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> <span class="keywordtype">int</span> val;</div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *prev;</div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *next;</div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> <a class="code hl_typedef" href="../../d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287">node</a> *prev;</div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> <a class="code hl_typedef" href="../../d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287">node</a> *next;</div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span>} * start;</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="foldopen" id="foldopen00011" data-start="{" data-end="};">
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"><a class="line" href="../../d9/dee/classdouble__linked__list.html"> 11</a></span><span class="keyword">class </span><a class="code hl_class" href="../../d9/dee/classdouble__linked__list.html">double_linked_list</a> {</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"><a class="line" href="../../d9/dee/classdouble__linked__list.html"> 11</a></span><span class="keyword">class </span>double_linked_list {</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> <a class="code hl_class" href="../../d9/dee/classdouble__linked__list.html">double_linked_list</a>() { start = NULL; }</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> double_linked_list() { start = NULL; }</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> <span class="keywordtype">void</span> insert(<span class="keywordtype">int</span> x);</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> <span class="keywordtype">void</span> remove(<span class="keywordtype">int</span> x);</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> <span class="keywordtype">void</span> <a class="code hl_namespace" href="../../d9/dca/namespacesearch.html">search</a>(<span class="keywordtype">int</span> x);</div>
@@ -152,13 +152,13 @@ $(function(){initNavTree('d7/d85/doubly__linked__list_8cpp_source.html','../../'
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="keywordflow">while</span> (t-&gt;next != NULL) {</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> t = t-&gt;next;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> }</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *n = <span class="keyword">new</span> <a class="code hl_typedef" href="../../d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287">node</a>;</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <a class="code hl_typedef" href="../../d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287">node</a> *n = <span class="keyword">new</span> <a class="code hl_typedef" href="../../d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287">node</a>;</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> t-&gt;next = n;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> n-&gt;prev = t;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> n-&gt;val = x;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> n-&gt;next = NULL;</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *n = <span class="keyword">new</span> <a class="code hl_typedef" href="../../d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287">node</a>;</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <a class="code hl_typedef" href="../../d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287">node</a> *n = <span class="keyword">new</span> <a class="code hl_typedef" href="../../d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287">node</a>;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> n-&gt;val = x;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> n-&gt;prev = NULL;</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> n-&gt;next = NULL;</div>
@@ -167,7 +167,7 @@ $(function(){initNavTree('d7/d85/doubly__linked__list_8cpp_source.html','../../'
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span>}</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="keywordtype">void</span> double_linked_list::remove(<span class="keywordtype">int</span> x) {</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *t = start;</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <a class="code hl_typedef" href="../../d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287">node</a> *t = start;</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">while</span> (t != NULL &amp;&amp; t-&gt;val != x) {</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> t = t-&gt;next;</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> }</div>
@@ -191,7 +191,7 @@ $(function(){initNavTree('d7/d85/doubly__linked__list_8cpp_source.html','../../'
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span>}</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="keywordtype">void</span> double_linked_list::search(<span class="keywordtype">int</span> x) {</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *t = start;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <a class="code hl_typedef" href="../../d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287">node</a> *t = start;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">int</span> found = 0;</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">while</span> (t != NULL) {</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">if</span> (t-&gt;val == x) {</div>
@@ -207,7 +207,7 @@ $(function(){initNavTree('d7/d85/doubly__linked__list_8cpp_source.html','../../'
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span>}</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="keywordtype">void</span> double_linked_list::show() {</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *t = start;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <a class="code hl_typedef" href="../../d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287">node</a> *t = start;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">while</span> (t != NULL) {</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> std::cout &lt;&lt; t-&gt;val &lt;&lt; <span class="stringliteral">&quot;\t&quot;</span>;</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> t = t-&gt;next;</div>
@@ -215,7 +215,7 @@ $(function(){initNavTree('d7/d85/doubly__linked__list_8cpp_source.html','../../'
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span>}</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="keywordtype">void</span> double_linked_list::reverseShow() {</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *t = start;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <a class="code hl_typedef" href="../../d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287">node</a> *t = start;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">while</span> (t != NULL &amp;&amp; t-&gt;next != NULL) {</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> t = t-&gt;next;</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> }</div>
@@ -273,7 +273,7 @@ $(function(){initNavTree('d7/d85/doubly__linked__list_8cpp_source.html','../../'
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html">data_structures</a></li><li class="navelem"><b>doubly_linked_list.cpp</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: prefix_sum_array Namespace Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -135,7 +135,7 @@ $(function(){initNavTree('d7/d88/namespaceprefix__sum__array.html','../../'); in
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d7/d88/namespaceprefix__sum__array.html">prefix_sum_array</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: math/double_factorial.cpp File Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -316,7 +316,7 @@ Recursion can be costly for large numbers. </p>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_296d53ceaeaa7e099814a6def439fe8a.html">math</a></li><li class="navelem"><a class="el" href="../../d7/d89/double__factorial_8cpp.html">double_factorial.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: math/double_factorial.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -124,11 +124,12 @@ $(function(){initNavTree('d7/d89/double__factorial_8cpp_source.html','../../');
<div class="headertitle"><div class="title">double_factorial.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d89/double__factorial_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<a href="../../d7/d89/double__factorial_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &lt;cassert&gt;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span></div>
<div class="foldopen" id="foldopen00018" data-start="{" data-end="}">
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"><a class="line" href="../../d7/d89/double__factorial_8cpp.html#a0a3c417360400093891a9ccddaa4be26"> 18</a></span>uint64_t <a class="code hl_function" href="../../d7/d89/double__factorial_8cpp.html#a0a3c417360400093891a9ccddaa4be26">double_factorial_iterative</a>(uint64_t n) {</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> uint64_t res = 1;</div>
@@ -140,7 +141,7 @@ $(function(){initNavTree('d7/d89/double__factorial_8cpp_source.html','../../');
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="keywordflow">return</span> res;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span>}</div>
</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span></div>
<div class="foldopen" id="foldopen00031" data-start="{" data-end="}">
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="../../d7/d89/double__factorial_8cpp.html#a68ba20fed2ce427f6469c7689437829d"> 31</a></span>uint64_t <a class="code hl_function" href="../../d7/d89/double__factorial_8cpp.html#a68ba20fed2ce427f6469c7689437829d">double_factorial_recursive</a>(uint64_t n) {</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keywordflow">if</span> (n &lt;= 1)</div>
@@ -148,14 +149,14 @@ $(function(){initNavTree('d7/d89/double__factorial_8cpp_source.html','../../');
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keywordflow">return</span> n * <a class="code hl_function" href="../../d7/d89/double__factorial_8cpp.html#a68ba20fed2ce427f6469c7689437829d">double_factorial_recursive</a>(n - 2);</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span>}</div>
</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span></div>
<div class="foldopen" id="foldopen00043" data-start="{" data-end="}">
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="../../d7/d89/double__factorial_8cpp.html#abbbcebf3a2d0c67f4c3cfb5511a97981"> 43</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d1e/generate__parentheses_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(uint64_t n, uint64_t expected) {</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> assert(<a class="code hl_function" href="../../d7/d89/double__factorial_8cpp.html#a0a3c417360400093891a9ccddaa4be26">double_factorial_iterative</a>(n) == expected);</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> assert(<a class="code hl_function" href="../../d7/d89/double__factorial_8cpp.html#a68ba20fed2ce427f6469c7689437829d">double_factorial_recursive</a>(n) == expected);</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span>}</div>
</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span></div>
<div class="foldopen" id="foldopen00051" data-start="{" data-end="}">
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="../../d7/d89/double__factorial_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9"> 51</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d7/d89/double__factorial_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9">tests</a>() {</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Test 1:\t n=5\t...&quot;</span>;</div>
@@ -171,7 +172,7 @@ $(function(){initNavTree('d7/d89/double__factorial_8cpp_source.html','../../');
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> std::cout &lt;&lt; <span class="stringliteral">&quot;passed\n&quot;</span>;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span>}</div>
</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span></div>
<div class="foldopen" id="foldopen00068" data-start="{" data-end="}">
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="../../d7/d89/double__factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4"> 68</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d7/d89/double__factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <a class="code hl_function" href="../../d7/d89/double__factorial_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9">tests</a>();</div>
@@ -189,7 +190,7 @@ $(function(){initNavTree('d7/d89/double__factorial_8cpp_source.html','../../');
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_296d53ceaeaa7e099814a6def439fe8a.html">math</a></li><li class="navelem"><a class="el" href="../../d7/d89/double__factorial_8cpp.html">double_factorial.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: math/power_for_huge_numbers.cpp Pages: 1 -->
<svg width="118pt" height="94pt"

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: math/power_for_huge_numbers.cpp Pages: 1 -->
<svg width="118pt" height="94pt"

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: search/sublist_search.cpp Pages: 1 -->
<svg width="252pt" height="83pt"

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: search/sublist_search.cpp Pages: 1 -->
<svg width="252pt" height="83pt"

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: SJF&lt; S, T, E &gt; Class Template Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -137,20 +137,20 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:af73fe815835075184724a13c12f613ed" id="r_af73fe815835075184724a13c12f613ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af73fe815835075184724a13c12f613ed">addProcess</a> (S id, T arrival, E burst)</td></tr>
<tr class="memdesc:af73fe815835075184724a13c12f613ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the process to the ready queue if it isn't already there. <br /></td></tr>
<tr class="separator:af73fe815835075184724a13c12f613ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61b76afcc94e573d7232ab51c351fd30" id="r_a61b76afcc94e573d7232ab51c351fd30"><td class="memItemLeft" align="right" valign="top">vector&lt; tuple&lt; S, T, E, double, double, double &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a61b76afcc94e573d7232ab51c351fd30">scheduleForSJF</a> ()</td></tr>
<tr class="memitem:a61b76afcc94e573d7232ab51c351fd30" id="r_a61b76afcc94e573d7232ab51c351fd30"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; tuple&lt; S, T, E, double, double, double &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a61b76afcc94e573d7232ab51c351fd30">scheduleForSJF</a> ()</td></tr>
<tr class="memdesc:a61b76afcc94e573d7232ab51c351fd30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Algorithm for scheduling CPU processes according to the Shortest Job First (<a class="el" href="../../d7/d9f/class_s_j_f.html" title="Class which implements the SJF scheduling algorithm.">SJF</a>) scheduling algorithm. <br /></td></tr>
<tr class="separator:a61b76afcc94e573d7232ab51c351fd30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42d7016523e3adfe5b946fab18ce7905" id="r_a42d7016523e3adfe5b946fab18ce7905"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a42d7016523e3adfe5b946fab18ce7905">printResult</a> (const vector&lt; tuple&lt; S, T, E, double, double, double &gt; &gt; &amp;processes)</td></tr>
<tr class="memitem:a42d7016523e3adfe5b946fab18ce7905" id="r_a42d7016523e3adfe5b946fab18ce7905"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a42d7016523e3adfe5b946fab18ce7905">printResult</a> (const <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; tuple&lt; S, T, E, double, double, double &gt; &gt; &amp;processes)</td></tr>
<tr class="memdesc:a42d7016523e3adfe5b946fab18ce7905"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility function for printing the status of each process after execution. <br /></td></tr>
<tr class="separator:a42d7016523e3adfe5b946fab18ce7905"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:ac86d31ea081e671adeb82b3f92376fea" id="r_ac86d31ea081e671adeb82b3f92376fea"><td class="memItemLeft" align="right" valign="top">priority_queue&lt; tuple&lt; S, T, E, double, double, double &gt;, vector&lt; tuple&lt; S, T, E, double, double, double &gt; &gt;, <a class="el" href="../../de/d4a/class_compare.html">Compare</a>&lt; S, T, E &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac86d31ea081e671adeb82b3f92376fea">schedule</a></td></tr>
<tr class="memitem:ac86d31ea081e671adeb82b3f92376fea" id="r_ac86d31ea081e671adeb82b3f92376fea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d1/d1b/classpriority__queue.html">priority_queue</a>&lt; tuple&lt; S, T, E, double, double, double &gt;, <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; tuple&lt; S, T, E, double, double, double &gt; &gt;, <a class="el" href="../../de/d4a/class_compare.html">Compare</a>&lt; S, T, E &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac86d31ea081e671adeb82b3f92376fea">schedule</a></td></tr>
<tr class="separator:ac86d31ea081e671adeb82b3f92376fea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a6516fba2ce58331eea17b7292f11b8" id="r_a9a6516fba2ce58331eea17b7292f11b8"><td class="memItemLeft" align="right" valign="top">vector&lt; tuple&lt; S, T, E, double, double, double &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9a6516fba2ce58331eea17b7292f11b8">result</a></td></tr>
<tr class="memitem:a9a6516fba2ce58331eea17b7292f11b8" id="r_a9a6516fba2ce58331eea17b7292f11b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; tuple&lt; S, T, E, double, double, double &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9a6516fba2ce58331eea17b7292f11b8">result</a></td></tr>
<tr class="separator:a9a6516fba2ce58331eea17b7292f11b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a398475ed7fe2671fe42b9b57d5866916" id="r_a398475ed7fe2671fe42b9b57d5866916"><td class="memItemLeft" align="right" valign="top">unordered_set&lt; S &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a398475ed7fe2671fe42b9b57d5866916">idList</a></td></tr>
<tr class="memitem:a398475ed7fe2671fe42b9b57d5866916" id="r_a398475ed7fe2671fe42b9b57d5866916"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d6d/classunordered__set.html">unordered_set</a>&lt; S &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a398475ed7fe2671fe42b9b57d5866916">idList</a></td></tr>
<tr class="separator:a398475ed7fe2671fe42b9b57d5866916"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
@@ -173,7 +173,7 @@ class SJF&lt; S, T, E &gt;</div><p>Class which implements the <a class="el" href
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S , typename T , typename E &gt; </div>
template&lt;typename S, typename T, typename E&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -196,7 +196,7 @@ template&lt;typename S , typename T , typename E &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -216,12 +216,13 @@ template&lt;typename S , typename T , typename E &gt; </div>
<div class="fragment"><div class="line"><span class="lineno"> 127</span> {</div>
<div class="line"><span class="lineno"> 128</span> <span class="comment">// Add if a process with process ID as id is not found in idList.</span></div>
<div class="line"><span class="lineno"> 129</span> <span class="keywordflow">if</span> (idList.find(<span class="keywordtype">id</span>) == idList.end()) {</div>
<div class="line"><span class="lineno"> 130</span> tuple&lt;S, T, E, double, double, double&gt; t =</div>
<div class="line"><span class="lineno"> 131</span> make_tuple(<span class="keywordtype">id</span>, arrival, burst, 0, 0, 0);</div>
<div class="line"><span class="lineno"> 132</span> <a class="code hl_variable" href="#ac86d31ea081e671adeb82b3f92376fea">schedule</a>.push(t);</div>
<div class="line"><span class="lineno"> 130</span> <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">tuple&lt;S, T, E, double, double, double&gt;</a> <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">t</a> =</div>
<div class="line"><span class="lineno"> 131</span> <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">make_tuple</a>(<span class="keywordtype">id</span>, <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">arrival</a>, <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">burst</a>, 0, 0, 0);</div>
<div class="line"><span class="lineno"> 132</span> <a class="code hl_variable" href="#ac86d31ea081e671adeb82b3f92376fea">schedule</a>.push(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">t</a>);</div>
<div class="line"><span class="lineno"> 133</span> idList.insert(<span class="keywordtype">id</span>);</div>
<div class="line"><span class="lineno"> 134</span> }</div>
<div class="line"><span class="lineno"> 135</span> }</div>
<div class="ttc" id="aclass_s_j_f_html"><div class="ttname"><a href="../../d7/d9f/class_s_j_f.html">SJF</a></div><div class="ttdoc">Class which implements the SJF scheduling algorithm.</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.html#l00096">non_preemptive_sjf_scheduling.cpp:96</a></div></div>
<div class="ttc" id="aclass_s_j_f_html_ac86d31ea081e671adeb82b3f92376fea"><div class="ttname"><a href="#ac86d31ea081e671adeb82b3f92376fea">SJF::schedule</a></div><div class="ttdeci">priority_queue&lt; tuple&lt; S, T, E, double, double, double &gt;, vector&lt; tuple&lt; S, T, E, double, double, double &gt; &gt;, Compare&lt; S, T, E &gt; &gt; schedule</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.html#l00110">non_preemptive_sjf_scheduling.cpp:110</a></div></div>
</div><!-- fragment -->
</div>
@@ -232,7 +233,7 @@ template&lt;typename S , typename T , typename E &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S , typename T , typename E &gt; </div>
template&lt;typename S, typename T, typename E&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -240,13 +241,13 @@ template&lt;typename S , typename T , typename E &gt; </div>
<tr>
<td class="memname">void <a class="el" href="../../d7/d9f/class_s_j_f.html">SJF</a>&lt; S, T, E &gt;::printResult </td>
<td>(</td>
<td class="paramtype">const vector&lt; tuple&lt; S, T, E, double, double, double &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>processes</em></span></td><td>)</td>
<td class="paramtype">const <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; tuple&lt; S, T, E, double, double, double &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>processes</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -256,22 +257,21 @@ template&lt;typename S , typename T , typename E &gt; </div>
<p class="definition">Definition at line <a class="el" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.html#l00197">197</a> of file <a class="el" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.html">non_preemptive_sjf_scheduling.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 198</span> {</div>
<div class="line"><span class="lineno"> 199</span> cout &lt;&lt; std::setw(17) &lt;&lt; left &lt;&lt; <span class="stringliteral">&quot;Process ID&quot;</span> &lt;&lt; std::setw(17) &lt;&lt; left</div>
<div class="line"><span class="lineno"> 200</span> &lt;&lt; <span class="stringliteral">&quot;Arrival Time&quot;</span> &lt;&lt; std::setw(17) &lt;&lt; left &lt;&lt; <span class="stringliteral">&quot;Burst Time&quot;</span></div>
<div class="line"><span class="lineno"> 201</span> &lt;&lt; std::setw(17) &lt;&lt; left &lt;&lt; <span class="stringliteral">&quot;Completion Time&quot;</span> &lt;&lt; std::setw(17)</div>
<div class="line"><span class="lineno"> 202</span> &lt;&lt; left &lt;&lt; <span class="stringliteral">&quot;Turnaround Time&quot;</span> &lt;&lt; std::setw(17) &lt;&lt; left</div>
<div class="line"><span class="lineno"> 203</span> &lt;&lt; <span class="stringliteral">&quot;Waiting Time&quot;</span> &lt;&lt; <a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><span class="lineno"> 199</span> <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">cout</a> &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">std::setw</a>(17) &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">left</a> &lt;&lt; <span class="stringliteral">&quot;Process ID&quot;</span> &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">std::setw</a>(17) &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">left</a></div>
<div class="line"><span class="lineno"> 200</span> &lt;&lt; <span class="stringliteral">&quot;Arrival Time&quot;</span> &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">std::setw</a>(17) &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">left</a> &lt;&lt; <span class="stringliteral">&quot;Burst Time&quot;</span></div>
<div class="line"><span class="lineno"> 201</span> &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">std::setw</a>(17) &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">left</a> &lt;&lt; <span class="stringliteral">&quot;Completion Time&quot;</span> &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">std::setw</a>(17)</div>
<div class="line"><span class="lineno"> 202</span> &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">left</a> &lt;&lt; <span class="stringliteral">&quot;Turnaround Time&quot;</span> &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">std::setw</a>(17) &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">left</a></div>
<div class="line"><span class="lineno"> 203</span> &lt;&lt; <span class="stringliteral">&quot;Waiting Time&quot;</span> &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">endl</a>;</div>
<div class="line"><span class="lineno"> 204</span> </div>
<div class="line"><span class="lineno"> 205</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; process : processes) {</div>
<div class="line"><span class="lineno"> 206</span> cout &lt;&lt; std::setprecision(2) &lt;&lt; std::fixed &lt;&lt; std::setw(17) &lt;&lt; left</div>
<div class="line"><span class="lineno"> 207</span> &lt;&lt; get&lt;0&gt;(process) &lt;&lt; std::setw(17) &lt;&lt; left &lt;&lt; get&lt;1&gt;(process)</div>
<div class="line"><span class="lineno"> 208</span> &lt;&lt; std::setw(17) &lt;&lt; left &lt;&lt; get&lt;2&gt;(process) &lt;&lt; std::setw(17)</div>
<div class="line"><span class="lineno"> 209</span> &lt;&lt; left &lt;&lt; get&lt;3&gt;(process) &lt;&lt; std::setw(17) &lt;&lt; left</div>
<div class="line"><span class="lineno"> 210</span> &lt;&lt; get&lt;4&gt;(process) &lt;&lt; std::setw(17) &lt;&lt; left &lt;&lt; get&lt;5&gt;(process)</div>
<div class="line"><span class="lineno"> 211</span> &lt;&lt; <a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><span class="lineno"> 205</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">process</a> : <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">processes</a>) {</div>
<div class="line"><span class="lineno"> 206</span> <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">cout</a> &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">std::setprecision</a>(2) &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">std::fixed</a> &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">std::setw</a>(17) &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">left</a></div>
<div class="line"><span class="lineno"> 207</span> &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">get&lt;0&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">process</a>) &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">std::setw</a>(17) &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">left &lt;&lt; get&lt;1&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">process</a>)</div>
<div class="line"><span class="lineno"> 208</span> &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">std::setw</a>(17) &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">left &lt;&lt; get&lt;2&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">process</a>) &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">std::setw</a>(17)</div>
<div class="line"><span class="lineno"> 209</span> &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">left &lt;&lt; get&lt;3&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">process</a>) &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">std::setw</a>(17) &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">left</a></div>
<div class="line"><span class="lineno"> 210</span> &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">get&lt;4&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">process</a>) &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">std::setw</a>(17) &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">left &lt;&lt; get&lt;5&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">process</a>)</div>
<div class="line"><span class="lineno"> 211</span> &lt;&lt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">endl</a>;</div>
<div class="line"><span class="lineno"> 212</span> }</div>
<div class="line"><span class="lineno"> 213</span> }</div>
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a600eaf353befc174637855795f12d258"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a></div><div class="ttdeci">#define endl</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d35/matrix__exponentiation_8cpp_source.html#l00036">matrix_exponentiation.cpp:36</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -281,13 +281,13 @@ template&lt;typename S , typename T , typename E &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S , typename T , typename E &gt; </div>
template&lt;typename S, typename T, typename E&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">vector&lt; tuple&lt; S, T, E, double, double, double &gt; &gt; <a class="el" href="../../d7/d9f/class_s_j_f.html">SJF</a>&lt; S, T, E &gt;::scheduleForSJF </td>
<td class="memname"><a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt; tuple&lt; S, T, E, double, double, double &gt; &gt; <a class="el" href="../../d7/d9f/class_s_j_f.html">SJF</a>&lt; S, T, E &gt;::scheduleForSJF </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
@@ -295,7 +295,7 @@ template&lt;typename S , typename T , typename E &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -308,37 +308,37 @@ template&lt;typename S , typename T , typename E &gt; </div>
<p class="definition">Definition at line <a class="el" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.html#l00154">154</a> of file <a class="el" href="../../d7/d1a/non__preemptive__sjf__scheduling_8cpp_source.html">non_preemptive_sjf_scheduling.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 154</span> {</div>
<div class="line"><span class="lineno"> 155</span> <span class="comment">// Variable to keep track of time elapsed so far</span></div>
<div class="line"><span class="lineno"> 156</span> <span class="keywordtype">double</span> timeElapsed = 0;</div>
<div class="line"><span class="lineno"> 156</span> <span class="keywordtype">double</span> <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">timeElapsed</a> = 0;</div>
<div class="line"><span class="lineno"> 157</span> </div>
<div class="line"><span class="lineno"> 158</span> <span class="keywordflow">while</span> (!<a class="code hl_variable" href="#ac86d31ea081e671adeb82b3f92376fea">schedule</a>.empty()) {</div>
<div class="line"><span class="lineno"> 159</span> tuple&lt;S, T, E, double, double, double&gt; cur = <a class="code hl_variable" href="#ac86d31ea081e671adeb82b3f92376fea">schedule</a>.top();</div>
<div class="line"><span class="lineno"> 159</span> <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">tuple&lt;S, T, E, double, double, double&gt;</a> <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">cur</a> = <a class="code hl_variable" href="#ac86d31ea081e671adeb82b3f92376fea">schedule</a>.top();</div>
<div class="line"><span class="lineno"> 160</span> </div>
<div class="line"><span class="lineno"> 161</span> <span class="comment">// If the current process arrived at time t2, the last process</span></div>
<div class="line"><span class="lineno"> 162</span> <span class="comment">// completed its execution at time t1, and t2 &gt; t1.</span></div>
<div class="line"><span class="lineno"> 163</span> <span class="keywordflow">if</span> (get&lt;1&gt;(cur) &gt; timeElapsed) {</div>
<div class="line"><span class="lineno"> 164</span> timeElapsed += get&lt;1&gt;(cur) - timeElapsed;</div>
<div class="line"><span class="lineno"> 163</span> <span class="keywordflow">if</span> (<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">get&lt;1&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">cur</a>) &gt; <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">timeElapsed</a>) {</div>
<div class="line"><span class="lineno"> 164</span> <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">timeElapsed</a> += <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">get&lt;1&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">cur</a>) - <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">timeElapsed</a>;</div>
<div class="line"><span class="lineno"> 165</span> }</div>
<div class="line"><span class="lineno"> 166</span> </div>
<div class="line"><span class="lineno"> 167</span> <span class="comment">// Add Burst time to time elapsed</span></div>
<div class="line"><span class="lineno"> 168</span> timeElapsed += get&lt;2&gt;(cur);</div>
<div class="line"><span class="lineno"> 168</span> <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">timeElapsed</a> += <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">get&lt;2&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">cur</a>);</div>
<div class="line"><span class="lineno"> 169</span> </div>
<div class="line"><span class="lineno"> 170</span> <span class="comment">// Completion time of the current process will be same as time</span></div>
<div class="line"><span class="lineno"> 171</span> <span class="comment">// elapsed so far</span></div>
<div class="line"><span class="lineno"> 172</span> get&lt;3&gt;(cur) = timeElapsed;</div>
<div class="line"><span class="lineno"> 172</span> <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">get&lt;3&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">cur</a>) = <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">timeElapsed</a>;</div>
<div class="line"><span class="lineno"> 173</span> </div>
<div class="line"><span class="lineno"> 174</span> <span class="comment">// Turnaround time = Completion time - Arrival time</span></div>
<div class="line"><span class="lineno"> 175</span> get&lt;4&gt;(cur) = get&lt;3&gt;(cur) - get&lt;1&gt;(cur);</div>
<div class="line"><span class="lineno"> 175</span> <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">get&lt;4&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">cur</a>) = <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">get&lt;3&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">cur</a>) - <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">get&lt;1&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">cur</a>);</div>
<div class="line"><span class="lineno"> 176</span> </div>
<div class="line"><span class="lineno"> 177</span> <span class="comment">// Waiting time = Turnaround time - Burst time</span></div>
<div class="line"><span class="lineno"> 178</span> get&lt;5&gt;(cur) = get&lt;4&gt;(cur) - get&lt;2&gt;(cur);</div>
<div class="line"><span class="lineno"> 178</span> <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">get&lt;5&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">cur</a>) = <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">get&lt;4&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">cur</a>) - <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">get&lt;2&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">cur</a>);</div>
<div class="line"><span class="lineno"> 179</span> </div>
<div class="line"><span class="lineno"> 180</span> <span class="comment">// Turnaround time &gt;= Burst time</span></div>
<div class="line"><span class="lineno"> 181</span> assert(get&lt;4&gt;(cur) &gt;= get&lt;2&gt;(cur));</div>
<div class="line"><span class="lineno"> 181</span> <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">assert</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">get&lt;4&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">cur</a>) &gt;= <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">get&lt;2&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">cur</a>));</div>
<div class="line"><span class="lineno"> 182</span> </div>
<div class="line"><span class="lineno"> 183</span> <span class="comment">// Waiting time is never negative</span></div>
<div class="line"><span class="lineno"> 184</span> assert(get&lt;5&gt;(cur) &gt;= 0);</div>
<div class="line"><span class="lineno"> 184</span> <a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">assert</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">get&lt;5&gt;</a>(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">cur</a>) &gt;= 0);</div>
<div class="line"><span class="lineno"> 185</span> </div>
<div class="line"><span class="lineno"> 186</span> result.push_back(cur);</div>
<div class="line"><span class="lineno"> 186</span> result.push_back(<a class="code hl_class" href="../../d7/d9f/class_s_j_f.html">cur</a>);</div>
<div class="line"><span class="lineno"> 187</span> <a class="code hl_variable" href="#ac86d31ea081e671adeb82b3f92376fea">schedule</a>.pop();</div>
<div class="line"><span class="lineno"> 188</span> }</div>
<div class="line"><span class="lineno"> 189</span> <span class="keywordflow">return</span> result;</div>
@@ -353,18 +353,18 @@ template&lt;typename S , typename T , typename E &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S , typename T , typename E &gt; </div>
template&lt;typename S, typename T, typename E&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unordered_set&lt;S&gt; <a class="el" href="../../d7/d9f/class_s_j_f.html">SJF</a>&lt; S, T, E &gt;::idList</td>
<td class="memname"><a class="el" href="../../d3/d6d/classunordered__set.html">unordered_set</a>&lt;S&gt; <a class="el" href="../../d7/d9f/class_s_j_f.html">SJF</a>&lt; S, T, E &gt;::idList</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -379,18 +379,18 @@ template&lt;typename S , typename T , typename E &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S , typename T , typename E &gt; </div>
template&lt;typename S, typename T, typename E&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">vector&lt;tuple&lt;S, T, E, double, double, double&gt; &gt; <a class="el" href="../../d7/d9f/class_s_j_f.html">SJF</a>&lt; S, T, E &gt;::result</td>
<td class="memname"><a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt;tuple&lt;S, T, E, double, double, double&gt; &gt; <a class="el" href="../../d7/d9f/class_s_j_f.html">SJF</a>&lt; S, T, E &gt;::result</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -405,18 +405,18 @@ template&lt;typename S , typename T , typename E &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S , typename T , typename E &gt; </div>
template&lt;typename S, typename T, typename E&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">priority_queue&lt;tuple&lt;S, T, E, double, double, double&gt;, vector&lt;tuple&lt;S, T, E, double, double, double&gt; &gt;, <a class="el" href="../../de/d4a/class_compare.html">Compare</a>&lt;S, T, E&gt; &gt; <a class="el" href="../../d7/d9f/class_s_j_f.html">SJF</a>&lt; S, T, E &gt;::schedule</td>
<td class="memname"><a class="el" href="../../d1/d1b/classpriority__queue.html">priority_queue</a>&lt;tuple&lt;S, T, E, double, double, double&gt;, <a class="el" href="../../d7/dfc/classvector.html">vector</a>&lt;tuple&lt;S, T, E, double, double, double&gt; &gt;, <a class="el" href="../../de/d4a/class_compare.html">Compare</a>&lt;S, T, E&gt; &gt; <a class="el" href="../../d7/d9f/class_s_j_f.html">SJF</a>&lt; S, T, E &gt;::schedule</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -445,7 +445,7 @@ template&lt;typename S , typename T , typename E &gt; </div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d7/d9f/class_s_j_f.html">SJF</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: dynamic_programming/cut_rod.cpp Pages: 1 -->
<svg width="309pt" height="94pt"

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: dynamic_programming/cut_rod.cpp Pages: 1 -->
<svg width="309pt" height="94pt"

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: ListNode Struct Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -183,7 +183,7 @@ Public Attributes</h2></td></tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel explicit">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -216,7 +216,7 @@ Public Attributes</h2></td></tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -275,7 +275,7 @@ Public Attributes</h2></td></tr>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d7/da4/struct_list_node.html">ListNode</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: math/eratosthenes.cpp File Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -258,7 +258,7 @@ Functions</h2></td></tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -292,7 +292,7 @@ Functions</h2></td></tr>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_296d53ceaeaa7e099814a6def439fe8a.html">math</a></li><li class="navelem"><a class="el" href="../../d7/da6/eratosthenes_8cpp.html">eratosthenes.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
var eratosthenes_8cpp =
[
[ "main", "d7/da6/eratosthenes_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97", null ],
[ "print_primes", "d7/da6/eratosthenes_8cpp.html#ad09d59850865012a6fd95d89954c82e4", null ],
[ "sieve", "d7/da6/eratosthenes_8cpp.html#a91366864111e1fac29722ca45e02ea8f", null ],
[ "math::print_primes", "dd/d47/namespacemath.html#ad09d59850865012a6fd95d89954c82e4", null ],
[ "math::sieve", "dd/d47/namespacemath.html#a91366864111e1fac29722ca45e02ea8f", null ],
[ "test", "d7/da6/eratosthenes_8cpp.html#aa8dca7b867074164d5f45b0f3851269d", null ]
];

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: math/eratosthenes.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -124,13 +124,14 @@ $(function(){initNavTree('d7/da6/eratosthenes_8cpp_source.html','../../'); initR
<div class="headertitle"><div class="title">eratosthenes.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../d7/da6/eratosthenes_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<a href="../../d7/da6/eratosthenes_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;cassert&gt;</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &lt;chrono&gt;</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &lt;iostream&gt;</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include &lt;string&gt;</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include &lt;vector&gt;</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../dd/d47/namespacemath.html">math</a> {</div>
<div class="foldopen" id="foldopen00033" data-start="{" data-end="}">
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="../../dd/d47/namespacemath.html#a91366864111e1fac29722ca45e02ea8f"> 33</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d47/namespacemath.html#a91366864111e1fac29722ca45e02ea8f">sieve</a>(std::vector&lt;bool&gt; *vec) {</div>
@@ -146,7 +147,7 @@ $(function(){initNavTree('d7/da6/eratosthenes_8cpp_source.html','../../'); initR
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> }</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span>}</div>
</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span></div>
<div class="foldopen" id="foldopen00051" data-start="{" data-end="}">
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="../../dd/d47/namespacemath.html#ad09d59850865012a6fd95d89954c82e4"> 51</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d47/namespacemath.html#ad09d59850865012a6fd95d89954c82e4">print_primes</a>(std::vector&lt;bool&gt; <span class="keyword">const</span> &amp;<a class="code hl_function" href="../../de/d9b/prime__numbers_8cpp.html#a9575f3a51eeb8a57d657b3db6a4b441a">primes</a>) {</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">for</span> (uint64_t i = 0; i &lt; <a class="code hl_function" href="../../de/d9b/prime__numbers_8cpp.html#a9575f3a51eeb8a57d657b3db6a4b441a">primes</a>.size(); i++) {</div>
@@ -157,7 +158,7 @@ $(function(){initNavTree('d7/da6/eratosthenes_8cpp_source.html','../../'); initR
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span>}</div>
</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span>} <span class="comment">// namespace math</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span></div>
<div class="foldopen" id="foldopen00064" data-start="{" data-end="}">
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="../../d7/da6/eratosthenes_8cpp.html#aa8dca7b867074164d5f45b0f3851269d"> 64</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d7/da6/eratosthenes_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>() {</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">auto</span> <a class="code hl_function" href="../../de/d9b/prime__numbers_8cpp.html#a9575f3a51eeb8a57d657b3db6a4b441a">primes</a> = std::vector&lt;bool&gt;(10, <span class="keyword">true</span>);</div>
@@ -176,7 +177,7 @@ $(function(){initNavTree('d7/da6/eratosthenes_8cpp_source.html','../../'); initR
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> std::cout &lt;&lt; <span class="stringliteral">&quot;All tests have successfully passed!\n&quot;</span>;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span>}</div>
</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span></div>
<div class="foldopen" id="foldopen00087" data-start="{" data-end="}">
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="../../d7/da6/eratosthenes_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97"> 87</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../dd/d1e/generate__parentheses_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[]) {</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <a class="code hl_function" href="../../d7/da6/eratosthenes_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// run self-test implementations</span></div>
@@ -223,7 +224,7 @@ $(function(){initNavTree('d7/da6/eratosthenes_8cpp_source.html','../../'); initR
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_296d53ceaeaa7e099814a6def439fe8a.html">math</a></li><li class="navelem"><a class="el" href="../../d7/da6/eratosthenes_8cpp.html">eratosthenes.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: machine_learning/adaline_learning.cpp Pages: 1 -->
<!--zoomable 94 -->

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -1,7 +1,7 @@
<?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 12.2.0 (20241103.1931)
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: machine_learning/adaline_learning.cpp Pages: 1 -->
<svg width="557pt" height="94pt"

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: operations_on_datastructures/get_size_of_linked_list.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -129,9 +129,9 @@ $(function(){initNavTree('d7/dab/get__size__of__linked__list_8cpp_source.html','
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="keyword">class </span><a class="code hl_class" href="../../db/d8b/struct_node.html">Node</a> {</div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> <span class="keywordtype">int</span> val;</div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> <a class="code hl_class" href="../../db/d8b/struct_node.html">Node</a> *next;</div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> Node *next;</div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> <a class="code hl_class" href="../../db/d8b/struct_node.html">Node</a>(<span class="keywordtype">int</span> v, <a class="code hl_class" href="../../db/d8b/struct_node.html">Node</a> *n) : val(v), next(n) {} <span class="comment">// Default constructor for Node</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> Node(<span class="keywordtype">int</span> v, Node *n) : val(v), next(n) {} <span class="comment">// Default constructor for Node</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span>};</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="keywordtype">int</span> getSize(<a class="code hl_class" href="../../db/d8b/struct_node.html">Node</a> *root) {</div>
@@ -184,7 +184,7 @@ $(function(){initNavTree('d7/dab/get__size__of__linked__list_8cpp_source.html','
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_35422be6552f1b3672c1b6c4aba2da64.html">operations_on_datastructures</a></li><li class="navelem"><b>get_size_of_linked_list.cpp</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: Member List</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -135,7 +135,7 @@ $(function(){initNavTree('dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html',
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>

Some files were not shown because too many files have changed in this diff Show More