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++: others/recursive_tree_traversal.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,23 +124,25 @@ $(function(){initNavTree('dc/de1/recursive__tree__traversal_8cpp_source.html','.
<div class="headertitle"><div class="title">recursive_tree_traversal.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../dc/de1/recursive__tree__traversal_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="../../dc/de1/recursive__tree__traversal_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="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="preprocessor">#include &lt;cassert&gt;</span> </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="preprocessor">#include &lt;cstdint&gt;</span> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="preprocessor">#include &lt;iostream&gt;</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="preprocessor">#include &lt;vector&gt;</span> </div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d0/d6f/namespaceothers.html">others</a> {</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="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="keyword">namespace </span>recursive_tree_traversals {</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span></div>
<div class="foldopen" id="foldopen00079" data-start="{" data-end="};">
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html"> 79</a></span><span class="keyword">struct </span><a class="code hl_struct" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html">Node</a> {</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a59cc94ba784aeaefec2e915ddfdb1ade"> 80</a></span> std::uint64_t <a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a59cc94ba784aeaefec2e915ddfdb1ade">data</a> = 0; </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3"> 81</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html">Node</a> *left{}; </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3"> 81</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html">Node</a> *<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a>{}; </div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83"> 82</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html">Node</a> *<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a>{}; </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span>};</div>
</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span></div>
<div class="foldopen" id="foldopen00088" data-start="{" data-end="};">
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"><a class="line" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html"> 88</a></span><span class="keyword">class </span><a class="code hl_class" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html">BT</a> {</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">public</span>:</div>
@@ -166,13 +168,13 @@ $(function(){initNavTree('dc/de1/recursive__tree__traversal_8cpp_source.html','.
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="comment">// returns its postorder traversal.</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span>};</div>
</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="foldopen" id="foldopen00118" data-start="{" data-end="}">
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"><a class="line" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114"> 118</a></span><a class="code hl_struct" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html">Node</a> *<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">BT::createNewNode</a>(std::uint64_t <a class="code hl_variable" href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a>) {</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <a class="code hl_struct" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html">Node</a> *<a class="code hl_class" href="../../d5/da1/structnode.html">node</a> = <span class="keyword">new</span> <a class="code hl_struct" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html">Node</a>();</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a>-&gt;data = <a class="code hl_variable" href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a>;</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a>-&gt;left = <a class="code hl_class" href="../../d5/da1/structnode.html">node</a>-&gt;right = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">return</span> <a class="code hl_typedef" href="../../d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287">node</a>;</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a>;</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>
@@ -195,7 +197,7 @@ $(function(){initNavTree('dc/de1/recursive__tree__traversal_8cpp_source.html','.
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">return</span> inorder_result;</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span>}</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> </div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span></div>
<div class="foldopen" id="foldopen00152" data-start="{" data-end="}">
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"><a class="line" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#a6397b78ceec18cb1959a1d159e134da5"> 152</a></span>std::vector&lt;std::uint64_t&gt; <a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#a6397b78ceec18cb1959a1d159e134da5">BT::preorder</a>(<a class="code hl_struct" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html">Node</a> *root) {</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">if</span> (root == <span class="keyword">nullptr</span>) { <span class="comment">// if the current node is empty</span></div>
@@ -210,7 +212,7 @@ $(function(){initNavTree('dc/de1/recursive__tree__traversal_8cpp_source.html','.
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">return</span> preorder_result;</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span>}</div>
</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> </div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span></div>
<div class="foldopen" id="foldopen00172" data-start="{" data-end="}">
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"><a class="line" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#ac9404b65f407f631915515fa2e08a40c"> 172</a></span>std::vector&lt;std::uint64_t&gt; <a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#ac9404b65f407f631915515fa2e08a40c">BT::postorder</a>(<a class="code hl_struct" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html">Node</a> *root) {</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">if</span> (root == <span class="keyword">nullptr</span>) { <span class="comment">// if the current node is empty</span></div>
@@ -237,19 +239,19 @@ $(function(){initNavTree('dc/de1/recursive__tree__traversal_8cpp_source.html','.
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span>} <span class="comment">// namespace recursive_tree_traversals</span></div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> </div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span>} <span class="comment">// namespace others</span></div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> </div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span></div>
<div class="foldopen" id="foldopen00201" data-start="{" data-end="}">
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"><a class="line" href="../../dc/de1/recursive__tree__traversal_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0"> 201</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/de1/recursive__tree__traversal_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0">test1</a>() {</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <a class="code hl_class" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html">others::recursive_tree_traversals::BT</a> obj1;</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <a class="code hl_struct" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html">others::recursive_tree_traversals::Node</a> *root = obj1.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(2);</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> root-&gt;left = obj1.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(7);</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> root-&gt;right = obj1.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(5);</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> root-&gt;left-&gt;left = obj1.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(2);</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> root-&gt;left-&gt;right = obj1.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(6);</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> root-&gt;right-&gt;right = obj1.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(9);</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> root-&gt;left-&gt;right-&gt;left = obj1.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(5);</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> root-&gt;left-&gt;right-&gt;right = obj1.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(11);</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> root-&gt;right-&gt;right-&gt;left = obj1.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(4);</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a> = obj1.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(7);</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a> = obj1.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(5);</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a> = obj1.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(2);</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a> = obj1.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(6);</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a> = obj1.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(9);</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a> = obj1.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(5);</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a> = obj1.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(11);</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a> = obj1.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(4);</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> </div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> std::vector&lt;std::uint64_t&gt; actual_result_inorder{2, 7, 5, 6, 11,</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> 2, 5, 4, 9};</div>
@@ -297,18 +299,18 @@ $(function(){initNavTree('dc/de1/recursive__tree__traversal_8cpp_source.html','.
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> deleteAll(root);</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span>}</div>
</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> </div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span></div>
<div class="foldopen" id="foldopen00266" data-start="{" data-end="}">
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"><a class="line" href="../../dc/de1/recursive__tree__traversal_8cpp.html#a0283886819c7c140a023582b7269e2d0"> 266</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/de1/recursive__tree__traversal_8cpp.html#a0283886819c7c140a023582b7269e2d0">test2</a>() {</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> <a class="code hl_class" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html">others::recursive_tree_traversals::BT</a> obj2;</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <a class="code hl_struct" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html">others::recursive_tree_traversals::Node</a> *root = obj2.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(1);</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> root-&gt;left = obj2.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(2);</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> root-&gt;right = obj2.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(3);</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> root-&gt;left-&gt;left = obj2.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(4);</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> root-&gt;right-&gt;left = obj2.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(5);</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> root-&gt;right-&gt;right = obj2.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(6);</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> root-&gt;right-&gt;left-&gt;left = obj2.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(7);</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> root-&gt;right-&gt;left-&gt;right = obj2.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(8);</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a> = obj2.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(2);</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a> = obj2.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(3);</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a> = obj2.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(4);</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a> = obj2.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(5);</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a> = obj2.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(6);</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a> = obj2.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(7);</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a> = obj2.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(8);</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> </div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> std::vector&lt;std::uint64_t&gt; actual_result_inorder{4, 2, 1, 7, 5, 8, 3, 6};</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> std::vector&lt;std::uint64_t&gt; actual_result_preorder{1, 2, 4, 3, 5, 7, 8, 6};</div>
@@ -353,15 +355,15 @@ $(function(){initNavTree('dc/de1/recursive__tree__traversal_8cpp_source.html','.
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> deleteAll(root);</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span>}</div>
</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> </div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span></div>
<div class="foldopen" id="foldopen00327" data-start="{" data-end="}">
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"><a class="line" href="../../dc/de1/recursive__tree__traversal_8cpp.html#a6d0455dd5c30adda100e95f0423c786e"> 327</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/de1/recursive__tree__traversal_8cpp.html#a6d0455dd5c30adda100e95f0423c786e">test3</a>() {</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> <a class="code hl_class" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html">others::recursive_tree_traversals::BT</a> obj3;</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> <a class="code hl_struct" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html">others::recursive_tree_traversals::Node</a> *root = obj3.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(1);</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> root-&gt;left = obj3.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(2);</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> root-&gt;right = obj3.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(3);</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> root-&gt;left-&gt;left = obj3.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(4);</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> root-&gt;left-&gt;right = obj3.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(5);</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a> = obj3.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(2);</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a> = obj3.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(3);</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a> = obj3.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(4);</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> root-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">left</a>-&gt;<a class="code hl_variable" href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">right</a> = obj3.<a class="code hl_function" href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114">createNewNode</a>(5);</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> </div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> std::vector&lt;std::uint64_t&gt; actual_result_inorder{4, 2, 5, 1, 3};</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> std::vector&lt;std::uint64_t&gt; actual_result_preorder{1, 2, 4, 5, 3};</div>
@@ -407,7 +409,7 @@ $(function(){initNavTree('dc/de1/recursive__tree__traversal_8cpp_source.html','.
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> deleteAll(root);</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span>}</div>
</div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> </div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span></div>
<div class="foldopen" id="foldopen00386" data-start="{" data-end="}">
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"><a class="line" href="../../dc/de1/recursive__tree__traversal_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e"> 386</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/de1/recursive__tree__traversal_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a>() {</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> std::cout &lt;&lt; <span class="stringliteral">&quot;1st test-case&quot;</span> &lt;&lt; std::endl;</div>
@@ -418,13 +420,13 @@ $(function(){initNavTree('dc/de1/recursive__tree__traversal_8cpp_source.html','.
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> <a class="code hl_function" href="../../dc/de1/recursive__tree__traversal_8cpp.html#a6d0455dd5c30adda100e95f0423c786e">test3</a>(); <span class="comment">// run 3rd test-case</span></div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span>}</div>
</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span></div>
<div class="foldopen" id="foldopen00398" data-start="{" data-end="}">
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"><a class="line" href="../../dc/de1/recursive__tree__traversal_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4"> 398</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../dc/de1/recursive__tree__traversal_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> <a class="code hl_function" href="../../dc/de1/recursive__tree__traversal_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a>(); <span class="comment">// run self-test implementations</span></div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span>}</div>
</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="aclassothers_1_1recursive__tree__traversals_1_1_b_t_html"><div class="ttname"><a href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html">others::recursive_tree_traversals::BT</a></div><div class="ttdoc">BT used to make the entire structure of the binary tree and the functions associated with the binary ...</div><div class="ttdef"><b>Definition</b> <a href="#l00088">recursive_tree_traversal.cpp:88</a></div></div>
<div class="ttc" id="aclassothers_1_1recursive__tree__traversals_1_1_b_t_html_a6397b78ceec18cb1959a1d159e134da5"><div class="ttname"><a href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#a6397b78ceec18cb1959a1d159e134da5">others::recursive_tree_traversals::BT::preorder</a></div><div class="ttdeci">std::vector&lt; std::uint64_t &gt; preorder(Node *)</div><div class="ttdoc">preorder function that will perform the preorder traversal recursively, and return the resultant vect...</div><div class="ttdef"><b>Definition</b> <a href="#l00152">recursive_tree_traversal.cpp:152</a></div></div>
<div class="ttc" id="aclassothers_1_1recursive__tree__traversals_1_1_b_t_html_ac9404b65f407f631915515fa2e08a40c"><div class="ttname"><a href="../../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#ac9404b65f407f631915515fa2e08a40c">others::recursive_tree_traversals::BT::postorder</a></div><div class="ttdeci">std::vector&lt; std::uint64_t &gt; postorder(Node *)</div><div class="ttdoc">postorder function that will perform the postorder traversal recursively, and return the result vecto...</div><div class="ttdef"><b>Definition</b> <a href="#l00172">recursive_tree_traversal.cpp:172</a></div></div>
@@ -439,6 +441,7 @@ $(function(){initNavTree('dc/de1/recursive__tree__traversal_8cpp_source.html','.
<div class="ttc" id="astructnode_html"><div class="ttname"><a href="../../d5/da1/structnode.html">node</a></div><div class="ttdef"><b>Definition</b> <a href="../../d3/d26/binary__search__tree_8cpp_source.html#l00011">binary_search_tree.cpp:11</a></div></div>
<div class="ttc" id="astructothers_1_1recursive__tree__traversals_1_1_node_html"><div class="ttname"><a href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html">others::recursive_tree_traversals::Node</a></div><div class="ttdoc">The structure to hold Nodes of the tree.</div><div class="ttdef"><b>Definition</b> <a href="#l00079">recursive_tree_traversal.cpp:79</a></div></div>
<div class="ttc" id="astructothers_1_1recursive__tree__traversals_1_1_node_html_a59cc94ba784aeaefec2e915ddfdb1ade"><div class="ttname"><a href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a59cc94ba784aeaefec2e915ddfdb1ade">others::recursive_tree_traversals::Node::data</a></div><div class="ttdeci">std::uint64_t data</div><div class="ttdoc">The value/key of the node.</div><div class="ttdef"><b>Definition</b> <a href="#l00080">recursive_tree_traversal.cpp:80</a></div></div>
<div class="ttc" id="astructothers_1_1recursive__tree__traversals_1_1_node_html_a5a8a7bc2d2f847994220ae9e0b60fff3"><div class="ttname"><a href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3">others::recursive_tree_traversals::Node::left</a></div><div class="ttdeci">struct Node * left</div><div class="ttdoc">struct pointer to left subtree.</div><div class="ttdef"><b>Definition</b> <a href="#l00081">recursive_tree_traversal.cpp:81</a></div></div>
<div class="ttc" id="astructothers_1_1recursive__tree__traversals_1_1_node_html_ab875304781a4eb9661c0931a6f1fae83"><div class="ttname"><a href="../../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83">others::recursive_tree_traversals::Node::right</a></div><div class="ttdeci">struct Node * right</div><div class="ttdoc">struct pointer to right subtree.</div><div class="ttdef"><b>Definition</b> <a href="#l00082">recursive_tree_traversal.cpp:82</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
@@ -446,7 +449,7 @@ $(function(){initNavTree('dc/de1/recursive__tree__traversal_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="../../dc/de1/recursive__tree__traversal_8cpp.html">recursive_tree_traversal.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>