Documentation for 53a6c16730

This commit is contained in:
github-actions
2022-01-16 16:05:19 +00:00
parent 778f1be9e5
commit 2cab28c905
3620 changed files with 52045 additions and 41188 deletions

View File

@@ -3,7 +3,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.9.2"/>
<meta name="generator" content="Doxygen 1.9.3"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: operations_on_datastructures::trie_operations::Tnode Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -30,8 +30,8 @@ MathJax.Hub.Config({
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
@@ -41,7 +41,7 @@ MathJax.Hub.Config({
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.2 -->
<!-- Generated by Doxygen 1.9.3 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
@@ -101,6 +101,12 @@ $(document).ready(function(){initNavTree('d0/d5f/classoperations__on__datastruct
<p>Class defining the structure of trie node and containing the methods to perform operations on them.
<a href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for operations_on_datastructures::trie_operations::Tnode:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../dc/df6/classoperations__on__datastructures_1_1trie__operations_1_1_tnode__coll__graph.svg" width="204" height="171"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="../../graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
@@ -189,11 +195,11 @@ static constexpr uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>E
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> {</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> english.resize(ENGLISH_ALPHABET_SIZE, <span class="keyword">nullptr</span>);</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> endOfWord = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> frequency = 0;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> }</div>
<div class="fragment"><div class="line"><span class="lineno"> 47</span> {</div>
<div class="line"><span class="lineno"> 48</span> english.resize(ENGLISH_ALPHABET_SIZE, <span class="keyword">nullptr</span>);</div>
<div class="line"><span class="lineno"> 49</span> endOfWord = <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 50</span> frequency = 0;</div>
<div class="line"><span class="lineno"> 51</span> }</div>
</div><!-- fragment -->
</div>
</div>
@@ -220,11 +226,11 @@ static constexpr uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>E
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><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> english = <a class="code hl_class" href="../../d5/da1/structnode.html">node</a>.english;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> endOfWord = <a class="code hl_class" href="../../d5/da1/structnode.html">node</a>.endOfWord;</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> frequency = <a class="code hl_class" href="../../d5/da1/structnode.html">node</a>.frequency;</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> }</div>
<div class="fragment"><div class="line"><span class="lineno"> 53</span> {</div>
<div class="line"><span class="lineno"> 54</span> english = <a class="code hl_class" href="../../d5/da1/structnode.html">node</a>.english;</div>
<div class="line"><span class="lineno"> 55</span> endOfWord = <a class="code hl_class" href="../../d5/da1/structnode.html">node</a>.endOfWord;</div>
<div class="line"><span class="lineno"> 56</span> frequency = <a class="code hl_class" href="../../d5/da1/structnode.html">node</a>.frequency;</div>
<div class="line"><span class="lineno"> 57</span> }</div>
<div class="ttc" id="astructnode_html"><div class="ttname"><a href="../../d5/da1/structnode.html">node</a></div><div class="ttdef"><b>Definition:</b> avltree.cpp:13</div></div>
</div><!-- fragment -->
</div>
@@ -251,14 +257,14 @@ static constexpr uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>E
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><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> <span class="keywordtype">int</span> i = 0;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">for</span> (i = 0; i &lt; ENGLISH_ALPHABET_SIZE; i++) {</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">if</span> (english[i]) {</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">delete</span> english[i];</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> }</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> }</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> }</div>
<div class="fragment"><div class="line"><span class="lineno"> 90</span> {</div>
<div class="line"><span class="lineno"> 91</span> <span class="keywordtype">int</span> i = 0;</div>
<div class="line"><span class="lineno"> 92</span> <span class="keywordflow">for</span> (i = 0; i &lt; ENGLISH_ALPHABET_SIZE; i++) {</div>
<div class="line"><span class="lineno"> 93</span> <span class="keywordflow">if</span> (english[i]) {</div>
<div class="line"><span class="lineno"> 94</span> <span class="keyword">delete</span> english[i];</div>
<div class="line"><span class="lineno"> 95</span> }</div>
<div class="line"><span class="lineno"> 96</span> }</div>
<div class="line"><span class="lineno"> 97</span> }</div>
</div><!-- fragment -->
</div>
</div>
@@ -286,66 +292,66 @@ static constexpr uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>E
</table>
</dd>
</dl>
<div class="fragment"><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> Tnode *cur_pos = <span class="keyword">this</span>,</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> *delete_from = <span class="keyword">this</span>; <span class="comment">// Current pointer pointing to root</span></div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">int</span> letter_index = 0, delete_from_index = 0, i = 0, n = entry.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">size</a>();</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> </div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">for</span> (i = 0; i &lt; n; i++) {</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="comment">// To ignore case</span></div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> letter_index = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(entry[i]) - 97;</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> <span class="comment">// Display error message when given entry is not present in the tree</span></div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">if</span> (cur_pos-&gt;english[letter_index] == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Entry not Found&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">return</span>;</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> <span class="comment">// If the current node is end of word for the current prefix or if it</span></div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="comment">// has 2 or more branches It cannot be deleted while deleting the</span></div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="comment">// required entry.</span></div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#afca808362c13273ca8c8ae7d58e8eee0">numberOfChildren</a>(cur_pos) &gt; 1 || cur_pos-&gt;endOfWord) {</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> delete_from = cur_pos; <span class="comment">// denotes the beginning of the shortest</span></div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="comment">// suffix that is allowed to be deleted</span></div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> delete_from_index = i - 1; <span class="comment">// Beginning index of the suffix</span></div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="comment">// corresponding to the &#39;entry&#39;</span></div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</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> <span class="comment">// Traversing through the entry</span></div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> cur_pos = cur_pos-&gt;english[letter_index];</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> }</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> </div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="comment">// cur_pos now points to the last char of entry. Display message if that</span></div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="comment">// entry does not exist</span></div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">if</span> (!cur_pos-&gt;endOfWord) {</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Entry not Found&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> }</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> </div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="comment">// If cur_pos is not a leaf node, unmark end of word and assign 0 to it&#39;s</span></div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="comment">// frequency for deletion</span></div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#afca808362c13273ca8c8ae7d58e8eee0">numberOfChildren</a>(cur_pos)) {</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> cur_pos-&gt;endOfWord = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> cur_pos-&gt;frequency = 0;</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> }</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> </div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="comment">// The first character of the suffix to be deleted</span></div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> letter_index = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(entry[delete_from_index + 1]) - 97;</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="comment">// Point cur_pos to the next node</span></div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> cur_pos = delete_from-&gt;english[letter_index];</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="comment">// Sever the connection from the main trie</span></div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> delete_from-&gt;english[letter_index] = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> </div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="comment">// If number of characters in the suffix are more than 1, recursively delete</span></div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="comment">// each character starting from cur_pos using the helper function</span></div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">if</span> (n &gt; delete_from_index + 2) {</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#adef6940391f981ab86767775176b7169">DeleteFrom</a>(cur_pos, entry, delete_from_index + 2);</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> }</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <span class="comment">// If the suffix is only 1 char in length</span></div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">delete</span> cur_pos;</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> }</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span>}</div>
<div class="fragment"><div class="line"><span class="lineno"> 150</span> {</div>
<div class="line"><span class="lineno"> 151</span> Tnode *cur_pos = <span class="keyword">this</span>,</div>
<div class="line"><span class="lineno"> 152</span> *delete_from = <span class="keyword">this</span>; <span class="comment">// Current pointer pointing to root</span></div>
<div class="line"><span class="lineno"> 153</span> <span class="keywordtype">int</span> letter_index = 0, delete_from_index = 0, i = 0, n = entry.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">size</a>();</div>
<div class="line"><span class="lineno"> 154</span> </div>
<div class="line"><span class="lineno"> 155</span> <span class="keywordflow">for</span> (i = 0; i &lt; n; i++) {</div>
<div class="line"><span class="lineno"> 156</span> <span class="comment">// To ignore case</span></div>
<div class="line"><span class="lineno"> 157</span> letter_index = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(entry[i]) - 97;</div>
<div class="line"><span class="lineno"> 158</span> </div>
<div class="line"><span class="lineno"> 159</span> <span class="comment">// Display error message when given entry is not present in the tree</span></div>
<div class="line"><span class="lineno"> 160</span> <span class="keywordflow">if</span> (cur_pos-&gt;english[letter_index] == <span class="keyword">nullptr</span>) {</div>
<div class="line"><span class="lineno"> 161</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Entry not Found&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 162</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 163</span> }</div>
<div class="line"><span class="lineno"> 164</span> <span class="comment">// If the current node is end of word for the current prefix or if it</span></div>
<div class="line"><span class="lineno"> 165</span> <span class="comment">// has 2 or more branches It cannot be deleted while deleting the</span></div>
<div class="line"><span class="lineno"> 166</span> <span class="comment">// required entry.</span></div>
<div class="line"><span class="lineno"> 167</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#afca808362c13273ca8c8ae7d58e8eee0">numberOfChildren</a>(cur_pos) &gt; 1 || cur_pos-&gt;endOfWord) {</div>
<div class="line"><span class="lineno"> 168</span> delete_from = cur_pos; <span class="comment">// denotes the beginning of the shortest</span></div>
<div class="line"><span class="lineno"> 169</span> <span class="comment">// suffix that is allowed to be deleted</span></div>
<div class="line"><span class="lineno"> 170</span> delete_from_index = i - 1; <span class="comment">// Beginning index of the suffix</span></div>
<div class="line"><span class="lineno"> 171</span> <span class="comment">// corresponding to the &#39;entry&#39;</span></div>
<div class="line"><span class="lineno"> 172</span> }</div>
<div class="line"><span class="lineno"> 173</span> </div>
<div class="line"><span class="lineno"> 174</span> <span class="comment">// Traversing through the entry</span></div>
<div class="line"><span class="lineno"> 175</span> cur_pos = cur_pos-&gt;english[letter_index];</div>
<div class="line"><span class="lineno"> 176</span> }</div>
<div class="line"><span class="lineno"> 177</span> </div>
<div class="line"><span class="lineno"> 178</span> <span class="comment">// cur_pos now points to the last char of entry. Display message if that</span></div>
<div class="line"><span class="lineno"> 179</span> <span class="comment">// entry does not exist</span></div>
<div class="line"><span class="lineno"> 180</span> <span class="keywordflow">if</span> (!cur_pos-&gt;endOfWord) {</div>
<div class="line"><span class="lineno"> 181</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Entry not Found&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 182</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 183</span> }</div>
<div class="line"><span class="lineno"> 184</span> </div>
<div class="line"><span class="lineno"> 185</span> <span class="comment">// If cur_pos is not a leaf node, unmark end of word and assign 0 to it&#39;s</span></div>
<div class="line"><span class="lineno"> 186</span> <span class="comment">// frequency for deletion</span></div>
<div class="line"><span class="lineno"> 187</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#afca808362c13273ca8c8ae7d58e8eee0">numberOfChildren</a>(cur_pos)) {</div>
<div class="line"><span class="lineno"> 188</span> cur_pos-&gt;endOfWord = <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 189</span> cur_pos-&gt;frequency = 0;</div>
<div class="line"><span class="lineno"> 190</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 191</span> }</div>
<div class="line"><span class="lineno"> 192</span> </div>
<div class="line"><span class="lineno"> 193</span> <span class="comment">// The first character of the suffix to be deleted</span></div>
<div class="line"><span class="lineno"> 194</span> letter_index = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(entry[delete_from_index + 1]) - 97;</div>
<div class="line"><span class="lineno"> 195</span> <span class="comment">// Point cur_pos to the next node</span></div>
<div class="line"><span class="lineno"> 196</span> cur_pos = delete_from-&gt;english[letter_index];</div>
<div class="line"><span class="lineno"> 197</span> <span class="comment">// Sever the connection from the main trie</span></div>
<div class="line"><span class="lineno"> 198</span> delete_from-&gt;english[letter_index] = <span class="keyword">nullptr</span>;</div>
<div class="line"><span class="lineno"> 199</span> </div>
<div class="line"><span class="lineno"> 200</span> <span class="comment">// If number of characters in the suffix are more than 1, recursively delete</span></div>
<div class="line"><span class="lineno"> 201</span> <span class="comment">// each character starting from cur_pos using the helper function</span></div>
<div class="line"><span class="lineno"> 202</span> <span class="keywordflow">if</span> (n &gt; delete_from_index + 2) {</div>
<div class="line"><span class="lineno"> 203</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#adef6940391f981ab86767775176b7169">DeleteFrom</a>(cur_pos, entry, delete_from_index + 2);</div>
<div class="line"><span class="lineno"> 204</span> }</div>
<div class="line"><span class="lineno"> 205</span> <span class="comment">// If the suffix is only 1 char in length</span></div>
<div class="line"><span class="lineno"> 206</span> <span class="keywordflow">else</span> {</div>
<div class="line"><span class="lineno"> 207</span> <span class="keyword">delete</span> cur_pos;</div>
<div class="line"><span class="lineno"> 208</span> }</div>
<div class="line"><span class="lineno"> 209</span>}</div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="aclassoperations__on__datastructures_1_1trie__operations_1_1_tnode_html_adef6940391f981ab86767775176b7169"><div class="ttname"><a href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#adef6940391f981ab86767775176b7169">operations_on_datastructures::trie_operations::Tnode::DeleteFrom</a></div><div class="ttdeci">void DeleteFrom(Tnode *delete_from, std::string delete_string, int remove_index)</div><div class="ttdoc">Function recursively deletes the substring character by character iterating through the string to be ...</div><div class="ttdef"><b>Definition:</b> trie_multiple_search.cpp:134</div></div>
<div class="ttc" id="aclassoperations__on__datastructures_1_1trie__operations_1_1_tnode_html_afca808362c13273ca8c8ae7d58e8eee0"><div class="ttname"><a href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#afca808362c13273ca8c8ae7d58e8eee0">operations_on_datastructures::trie_operations::Tnode::numberOfChildren</a></div><div class="ttdeci">uint8_t numberOfChildren(Tnode *node)</div><div class="ttdoc">Function to count the number of children a node in the trie has.</div><div class="ttdef"><b>Definition:</b> trie_multiple_search.cpp:69</div></div>
@@ -402,16 +408,16 @@ Here is the call graph for this function:</div>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> {</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">if</span> (delete_string.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">size</a>() == remove_index) {</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">int</span> letter_index = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(delete_string[remove_index]) - 97;</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#adef6940391f981ab86767775176b7169">DeleteFrom</a>(delete_from-&gt;english[letter_index], delete_string,</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> remove_index + 1);</div>
<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="keyword">delete</span> delete_from;</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="fragment"><div class="line"><span class="lineno"> 135</span> {</div>
<div class="line"><span class="lineno"> 136</span> <span class="keywordflow">if</span> (delete_string.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">size</a>() == remove_index) {</div>
<div class="line"><span class="lineno"> 137</span> <span class="keywordtype">int</span> letter_index = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(delete_string[remove_index]) - 97;</div>
<div class="line"><span class="lineno"> 138</span> </div>
<div class="line"><span class="lineno"> 139</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#adef6940391f981ab86767775176b7169">DeleteFrom</a>(delete_from-&gt;english[letter_index], delete_string,</div>
<div class="line"><span class="lineno"> 140</span> remove_index + 1);</div>
<div class="line"><span class="lineno"> 141</span> </div>
<div class="line"><span class="lineno"> 142</span> <span class="keyword">delete</span> delete_from;</div>
<div class="line"><span class="lineno"> 143</span> }</div>
<div class="line"><span class="lineno"> 144</span>}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -444,25 +450,25 @@ Here is the call graph for this function:</div>
</table>
</dd>
</dl>
<div class="fragment"><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> Tnode *cur_pos = <span class="keyword">this</span>;</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span> letter_index = 0;</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;i : entry) {</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="comment">// To ignore case</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> letter_index = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i) - 97;</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="comment">// Allocate a node for each character of entry if not present in the</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="comment">// trie</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">if</span> (cur_pos-&gt;english[letter_index] == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> cur_pos-&gt;english[letter_index] = <span class="keyword">new</span> Tnode();</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> </div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> cur_pos = cur_pos-&gt;english[letter_index];</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> }</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="comment">// cur_pos points to the last char, mark it as end of word</span></div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> cur_pos-&gt;endOfWord = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span>}</div>
<div class="fragment"><div class="line"><span class="lineno"> 104</span> {</div>
<div class="line"><span class="lineno"> 105</span> Tnode *cur_pos = <span class="keyword">this</span>;</div>
<div class="line"><span class="lineno"> 106</span> <span class="keywordtype">int</span> letter_index = 0;</div>
<div class="line"><span class="lineno"> 107</span> </div>
<div class="line"><span class="lineno"> 108</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;i : entry) {</div>
<div class="line"><span class="lineno"> 109</span> <span class="comment">// To ignore case</span></div>
<div class="line"><span class="lineno"> 110</span> letter_index = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i) - 97;</div>
<div class="line"><span class="lineno"> 111</span> </div>
<div class="line"><span class="lineno"> 112</span> <span class="comment">// Allocate a node for each character of entry if not present in the</span></div>
<div class="line"><span class="lineno"> 113</span> <span class="comment">// trie</span></div>
<div class="line"><span class="lineno"> 114</span> <span class="keywordflow">if</span> (cur_pos-&gt;english[letter_index] == <span class="keyword">nullptr</span>) {</div>
<div class="line"><span class="lineno"> 115</span> cur_pos-&gt;english[letter_index] = <span class="keyword">new</span> Tnode();</div>
<div class="line"><span class="lineno"> 116</span> }</div>
<div class="line"><span class="lineno"> 117</span> </div>
<div class="line"><span class="lineno"> 118</span> cur_pos = cur_pos-&gt;english[letter_index];</div>
<div class="line"><span class="lineno"> 119</span> }</div>
<div class="line"><span class="lineno"> 120</span> <span class="comment">// cur_pos points to the last char, mark it as end of word</span></div>
<div class="line"><span class="lineno"> 121</span> cur_pos-&gt;endOfWord = <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 122</span>}</div>
</div><!-- fragment -->
</div>
</div>
@@ -498,10 +504,10 @@ Here is the call graph for this function:</div>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>count of the number of children of the given node (max 26) </dd></dl>
<div class="fragment"><div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> {</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">return</span> ENGLISH_ALPHABET_SIZE -</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/count.html">std::count</a>(<a class="code hl_class" href="../../d5/da1/structnode.html">node</a>-&gt;english.begin(), <a class="code hl_class" href="../../d5/da1/structnode.html">node</a>-&gt;english.end(), <span class="keyword">nullptr</span>);</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> }</div>
<div class="fragment"><div class="line"><span class="lineno"> 69</span> {</div>
<div class="line"><span class="lineno"> 70</span> <span class="keywordflow">return</span> ENGLISH_ALPHABET_SIZE -</div>
<div class="line"><span class="lineno"> 71</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/count.html">std::count</a>(<a class="code hl_class" href="../../d5/da1/structnode.html">node</a>-&gt;english.begin(), <a class="code hl_class" href="../../d5/da1/structnode.html">node</a>-&gt;english.end(), <span class="keyword">nullptr</span>);</div>
<div class="line"><span class="lineno"> 72</span> }</div>
<div class="ttc" id="acount_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/count.html">std::count</a></div><div class="ttdeci">T count(T... args)</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
@@ -535,56 +541,56 @@ Here is the call graph for this function:</div>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> {</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> Tnode *cur_pos = <span class="keyword">nullptr</span>, *prev_pos = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> cur_pos = prev_pos = <span class="keyword">this</span>; <span class="comment">// maintaining 2 pointers, initialized to root</span></div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> <span class="keywordtype">int</span> letter_index = 0;</div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> prefix =</div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> <span class="stringliteral">&quot;&quot;</span>; <span class="comment">// variable storing the updated value of longest common prefix</span></div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue.html">std::priority_queue&lt;std::pair&lt;int, std::string&gt;</a> &gt;</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> suggestions; <span class="comment">// max heap to store (frequency, word) in descending order</span></div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> <span class="comment">// of freq</span></div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> </div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue.html">std::priority_queue&lt;std::pair&lt;int, std::string&gt;</a> &gt; *Suggestions =</div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> &amp;suggestions;</div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> </div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;i : key) {</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> letter_index = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i) - 97;</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> prev_pos = cur_pos; <span class="comment">// Previous pointer updated to point to the last</span></div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> <span class="comment">// char of the longest common prefix</span></div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> </div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> <span class="comment">// When the node for the character does not exist, longest prefix has</span></div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> <span class="comment">// been determined and SuggestFreqAutocomplete is called</span></div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> <span class="keywordflow">if</span> (cur_pos-&gt;english[letter_index] == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a9e556f52c837190ecf4265b1f05cfe9c">SuggestFreqAutocomplete</a>(prev_pos, prefix, Suggestions);</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> <span class="comment">// To display the top 3 results</span></div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aacafb8c9f3ebac7ac6c01d9645bb67b6">SelectionTop_3</a>(Suggestions);</div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;- - - - - - - - - - - - - - - - - - - - - - - - - - &quot;</span></div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> }</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> <span class="comment">// Updating the longest common prefix</span></div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> prefix += char(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i));</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> cur_pos = cur_pos-&gt;english[letter_index];</div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> }</div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> <span class="comment">// If the key is a valid entry of trie, display it @ top of the suggestions</span></div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> <span class="keywordflow">if</span> (cur_pos-&gt;endOfWord) {</div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> (cur_pos-&gt;frequency)++;</div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; key &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> }</div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> </div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> (void)prev_pos; <span class="comment">// Idiom to ignore previous pointer</span></div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> </div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> <span class="comment">// Call for Suggestions when the search key is present as an entry/a prefix</span></div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> <span class="comment">// in the trie</span></div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a9e556f52c837190ecf4265b1f05cfe9c">SuggestFreqAutocomplete</a>(cur_pos, prefix, Suggestions);</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> <span class="comment">// Display the top 3 results</span></div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aacafb8c9f3ebac7ac6c01d9645bb67b6">SelectionTop_3</a>(Suggestions);</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> </div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;- - - - - - - - - - - - - - - - - - - - - - - - - - &quot;</span></div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span>}</div>
<div class="fragment"><div class="line"><span class="lineno"> 365</span> {</div>
<div class="line"><span class="lineno"> 366</span> Tnode *cur_pos = <span class="keyword">nullptr</span>, *prev_pos = <span class="keyword">nullptr</span>;</div>
<div class="line"><span class="lineno"> 367</span> cur_pos = prev_pos = <span class="keyword">this</span>; <span class="comment">// maintaining 2 pointers, initialized to root</span></div>
<div class="line"><span class="lineno"> 368</span> <span class="keywordtype">int</span> letter_index = 0;</div>
<div class="line"><span class="lineno"> 369</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> prefix =</div>
<div class="line"><span class="lineno"> 370</span> <span class="stringliteral">&quot;&quot;</span>; <span class="comment">// variable storing the updated value of longest common prefix</span></div>
<div class="line"><span class="lineno"> 371</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue.html">std::priority_queue&lt;std::pair&lt;int, std::string&gt;</a> &gt;</div>
<div class="line"><span class="lineno"> 372</span> suggestions; <span class="comment">// max heap to store (frequency, word) in descending order</span></div>
<div class="line"><span class="lineno"> 373</span> <span class="comment">// of freq</span></div>
<div class="line"><span class="lineno"> 374</span> </div>
<div class="line"><span class="lineno"> 375</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue.html">std::priority_queue&lt;std::pair&lt;int, std::string&gt;</a> &gt; *Suggestions =</div>
<div class="line"><span class="lineno"> 376</span> &amp;suggestions;</div>
<div class="line"><span class="lineno"> 377</span> </div>
<div class="line"><span class="lineno"> 378</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;i : key) {</div>
<div class="line"><span class="lineno"> 379</span> letter_index = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i) - 97;</div>
<div class="line"><span class="lineno"> 380</span> prev_pos = cur_pos; <span class="comment">// Previous pointer updated to point to the last</span></div>
<div class="line"><span class="lineno"> 381</span> <span class="comment">// char of the longest common prefix</span></div>
<div class="line"><span class="lineno"> 382</span> </div>
<div class="line"><span class="lineno"> 383</span> <span class="comment">// When the node for the character does not exist, longest prefix has</span></div>
<div class="line"><span class="lineno"> 384</span> <span class="comment">// been determined and SuggestFreqAutocomplete is called</span></div>
<div class="line"><span class="lineno"> 385</span> <span class="keywordflow">if</span> (cur_pos-&gt;english[letter_index] == <span class="keyword">nullptr</span>) {</div>
<div class="line"><span class="lineno"> 386</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a9e556f52c837190ecf4265b1f05cfe9c">SuggestFreqAutocomplete</a>(prev_pos, prefix, Suggestions);</div>
<div class="line"><span class="lineno"> 387</span> <span class="comment">// To display the top 3 results</span></div>
<div class="line"><span class="lineno"> 388</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aacafb8c9f3ebac7ac6c01d9645bb67b6">SelectionTop_3</a>(Suggestions);</div>
<div class="line"><span class="lineno"> 389</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;- - - - - - - - - - - - - - - - - - - - - - - - - - &quot;</span></div>
<div class="line"><span class="lineno"> 390</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 391</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 392</span> }</div>
<div class="line"><span class="lineno"> 393</span> <span class="comment">// Updating the longest common prefix</span></div>
<div class="line"><span class="lineno"> 394</span> prefix += char(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i));</div>
<div class="line"><span class="lineno"> 395</span> cur_pos = cur_pos-&gt;english[letter_index];</div>
<div class="line"><span class="lineno"> 396</span> }</div>
<div class="line"><span class="lineno"> 397</span> <span class="comment">// If the key is a valid entry of trie, display it @ top of the suggestions</span></div>
<div class="line"><span class="lineno"> 398</span> <span class="keywordflow">if</span> (cur_pos-&gt;endOfWord) {</div>
<div class="line"><span class="lineno"> 399</span> (cur_pos-&gt;frequency)++;</div>
<div class="line"><span class="lineno"> 400</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; key &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 401</span> }</div>
<div class="line"><span class="lineno"> 402</span> </div>
<div class="line"><span class="lineno"> 403</span> (void)prev_pos; <span class="comment">// Idiom to ignore previous pointer</span></div>
<div class="line"><span class="lineno"> 404</span> </div>
<div class="line"><span class="lineno"> 405</span> <span class="comment">// Call for Suggestions when the search key is present as an entry/a prefix</span></div>
<div class="line"><span class="lineno"> 406</span> <span class="comment">// in the trie</span></div>
<div class="line"><span class="lineno"> 407</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a9e556f52c837190ecf4265b1f05cfe9c">SuggestFreqAutocomplete</a>(cur_pos, prefix, Suggestions);</div>
<div class="line"><span class="lineno"> 408</span> <span class="comment">// Display the top 3 results</span></div>
<div class="line"><span class="lineno"> 409</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aacafb8c9f3ebac7ac6c01d9645bb67b6">SelectionTop_3</a>(Suggestions);</div>
<div class="line"><span class="lineno"> 410</span> </div>
<div class="line"><span class="lineno"> 411</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;- - - - - - - - - - - - - - - - - - - - - - - - - - &quot;</span></div>
<div class="line"><span class="lineno"> 412</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 413</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 414</span>}</div>
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div></div>
<div class="ttc" id="aclassoperations__on__datastructures_1_1trie__operations_1_1_tnode_html_a9e556f52c837190ecf4265b1f05cfe9c"><div class="ttname"><a href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a9e556f52c837190ecf4265b1f05cfe9c">operations_on_datastructures::trie_operations::Tnode::SuggestFreqAutocomplete</a></div><div class="ttdeci">void SuggestFreqAutocomplete(Tnode *new_root, const std::string &amp;prefix, std::priority_queue&lt; std::pair&lt; int, std::string &gt; &gt; *suggestions)</div><div class="ttdoc">Recursive function to suggest most frequently searched entries of trie which have a given common pref...</div><div class="ttdef"><b>Definition:</b> trie_multiple_search.cpp:337</div></div>
<div class="ttc" id="aclassoperations__on__datastructures_1_1trie__operations_1_1_tnode_html_aacafb8c9f3ebac7ac6c01d9645bb67b6"><div class="ttname"><a href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aacafb8c9f3ebac7ac6c01d9645bb67b6">operations_on_datastructures::trie_operations::Tnode::SelectionTop_3</a></div><div class="ttdeci">void SelectionTop_3(std::priority_queue&lt; std::pair&lt; int, std::string &gt; &gt; *suggestions)</div><div class="ttdoc">Function to display the 3 suggestions with highest frequency of search hits.</div><div class="ttdef"><b>Definition:</b> trie_multiple_search.cpp:317</div></div>
@@ -624,27 +630,27 @@ Here is the call graph for this function:</div>
<dl class="section return"><dt>Returns</dt><dd>true if the key is found </dd>
<dd>
false if the key is not found </dd></dl>
<div class="fragment"><div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> {</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> Tnode *cur_pos = <span class="keyword">this</span>;</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <span class="keywordtype">int</span> letter_index = 0;</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> </div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;i : key) {</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> letter_index = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i) - 97;</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <span class="comment">// If any character in the order of the key is absent, word not found!</span></div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">if</span> (cur_pos-&gt;english[letter_index] == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> }</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> cur_pos = cur_pos-&gt;english[letter_index];</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> }</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="comment">// Word is only present in the trie if the key is a valid complete entry and</span></div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <span class="comment">// not just a prefix.</span></div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">if</span> (cur_pos-&gt;endOfWord) {</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> (cur_pos-&gt;frequency)++;</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</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>}</div>
<div class="fragment"><div class="line"><span class="lineno"> 217</span> {</div>
<div class="line"><span class="lineno"> 218</span> Tnode *cur_pos = <span class="keyword">this</span>;</div>
<div class="line"><span class="lineno"> 219</span> <span class="keywordtype">int</span> letter_index = 0;</div>
<div class="line"><span class="lineno"> 220</span> </div>
<div class="line"><span class="lineno"> 221</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;i : key) {</div>
<div class="line"><span class="lineno"> 222</span> letter_index = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i) - 97;</div>
<div class="line"><span class="lineno"> 223</span> <span class="comment">// If any character in the order of the key is absent, word not found!</span></div>
<div class="line"><span class="lineno"> 224</span> <span class="keywordflow">if</span> (cur_pos-&gt;english[letter_index] == <span class="keyword">nullptr</span>) {</div>
<div class="line"><span class="lineno"> 225</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 226</span> }</div>
<div class="line"><span class="lineno"> 227</span> cur_pos = cur_pos-&gt;english[letter_index];</div>
<div class="line"><span class="lineno"> 228</span> }</div>
<div class="line"><span class="lineno"> 229</span> <span class="comment">// Word is only present in the trie if the key is a valid complete entry and</span></div>
<div class="line"><span class="lineno"> 230</span> <span class="comment">// not just a prefix.</span></div>
<div class="line"><span class="lineno"> 231</span> <span class="keywordflow">if</span> (cur_pos-&gt;endOfWord) {</div>
<div class="line"><span class="lineno"> 232</span> (cur_pos-&gt;frequency)++;</div>
<div class="line"><span class="lineno"> 233</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 234</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><span class="lineno"> 235</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 236</span> }</div>
<div class="line"><span class="lineno"> 237</span>}</div>
</div><!-- fragment -->
</div>
</div>
@@ -671,45 +677,45 @@ false if the key is not found </dd></dl>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> {</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> Tnode *cur_pos = <span class="keyword">nullptr</span>, *prev_pos = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> cur_pos = prev_pos = <span class="keyword">this</span>; <span class="comment">// maintaining 2 pointers, initialized to root</span></div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> <span class="keywordtype">int</span> letter_index = 0;</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> prefix =</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <span class="stringliteral">&quot;&quot;</span>; <span class="comment">// variable storing the updated value of longest common prefix</span></div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> </div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;i : key) {</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> letter_index = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i) - 97;</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> prev_pos = cur_pos; <span class="comment">// Previous pointer updated to point to the last</span></div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> <span class="comment">// char of the longest common prefix</span></div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> </div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> <span class="comment">// When the node for the character does not exist, longest prefix has</span></div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> <span class="comment">// been determined and SuggestAutocomplete is called</span></div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> <span class="keywordflow">if</span> (cur_pos-&gt;english[letter_index] == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a097913c4badec2b60d50a171ecc299fe">SuggestAutocomplete</a>(prev_pos, prefix);</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;- - - - - - - - - - - - - - - - - - - - - - - - - - &quot;</span></div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> }</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> <span class="comment">// Updating the longest common prefix</span></div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> prefix += char(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i));</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> cur_pos = cur_pos-&gt;english[letter_index];</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> }</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> <span class="comment">// If the key is a valid entry of trie, display it @ top of the suggestions</span></div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> <span class="keywordflow">if</span> (cur_pos-&gt;endOfWord) {</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; key &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> (cur_pos-&gt;frequency)++;</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> }</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> </div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> (void)prev_pos; <span class="comment">// Idiom to ignore previous pointer</span></div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> </div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> <span class="comment">// Call for suggestions when the search key is present as an entry/a prefix</span></div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> <span class="comment">// in the trie</span></div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a097913c4badec2b60d50a171ecc299fe">SuggestAutocomplete</a>(cur_pos, prefix);</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;- - - - - - - - - - - - - - - - - - - - - - - - - - &quot;</span></div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span>}</div>
<div class="fragment"><div class="line"><span class="lineno"> 271</span> {</div>
<div class="line"><span class="lineno"> 272</span> Tnode *cur_pos = <span class="keyword">nullptr</span>, *prev_pos = <span class="keyword">nullptr</span>;</div>
<div class="line"><span class="lineno"> 273</span> cur_pos = prev_pos = <span class="keyword">this</span>; <span class="comment">// maintaining 2 pointers, initialized to root</span></div>
<div class="line"><span class="lineno"> 274</span> <span class="keywordtype">int</span> letter_index = 0;</div>
<div class="line"><span class="lineno"> 275</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> prefix =</div>
<div class="line"><span class="lineno"> 276</span> <span class="stringliteral">&quot;&quot;</span>; <span class="comment">// variable storing the updated value of longest common prefix</span></div>
<div class="line"><span class="lineno"> 277</span> </div>
<div class="line"><span class="lineno"> 278</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;i : key) {</div>
<div class="line"><span class="lineno"> 279</span> letter_index = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i) - 97;</div>
<div class="line"><span class="lineno"> 280</span> prev_pos = cur_pos; <span class="comment">// Previous pointer updated to point to the last</span></div>
<div class="line"><span class="lineno"> 281</span> <span class="comment">// char of the longest common prefix</span></div>
<div class="line"><span class="lineno"> 282</span> </div>
<div class="line"><span class="lineno"> 283</span> <span class="comment">// When the node for the character does not exist, longest prefix has</span></div>
<div class="line"><span class="lineno"> 284</span> <span class="comment">// been determined and SuggestAutocomplete is called</span></div>
<div class="line"><span class="lineno"> 285</span> <span class="keywordflow">if</span> (cur_pos-&gt;english[letter_index] == <span class="keyword">nullptr</span>) {</div>
<div class="line"><span class="lineno"> 286</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a097913c4badec2b60d50a171ecc299fe">SuggestAutocomplete</a>(prev_pos, prefix);</div>
<div class="line"><span class="lineno"> 287</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;- - - - - - - - - - - - - - - - - - - - - - - - - - &quot;</span></div>
<div class="line"><span class="lineno"> 288</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 289</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 290</span> }</div>
<div class="line"><span class="lineno"> 291</span> <span class="comment">// Updating the longest common prefix</span></div>
<div class="line"><span class="lineno"> 292</span> prefix += char(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i));</div>
<div class="line"><span class="lineno"> 293</span> cur_pos = cur_pos-&gt;english[letter_index];</div>
<div class="line"><span class="lineno"> 294</span> }</div>
<div class="line"><span class="lineno"> 295</span> <span class="comment">// If the key is a valid entry of trie, display it @ top of the suggestions</span></div>
<div class="line"><span class="lineno"> 296</span> <span class="keywordflow">if</span> (cur_pos-&gt;endOfWord) {</div>
<div class="line"><span class="lineno"> 297</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; key &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 298</span> (cur_pos-&gt;frequency)++;</div>
<div class="line"><span class="lineno"> 299</span> }</div>
<div class="line"><span class="lineno"> 300</span> </div>
<div class="line"><span class="lineno"> 301</span> (void)prev_pos; <span class="comment">// Idiom to ignore previous pointer</span></div>
<div class="line"><span class="lineno"> 302</span> </div>
<div class="line"><span class="lineno"> 303</span> <span class="comment">// Call for suggestions when the search key is present as an entry/a prefix</span></div>
<div class="line"><span class="lineno"> 304</span> <span class="comment">// in the trie</span></div>
<div class="line"><span class="lineno"> 305</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a097913c4badec2b60d50a171ecc299fe">SuggestAutocomplete</a>(cur_pos, prefix);</div>
<div class="line"><span class="lineno"> 306</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;- - - - - - - - - - - - - - - - - - - - - - - - - - &quot;</span></div>
<div class="line"><span class="lineno"> 307</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 308</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 309</span>}</div>
<div class="ttc" id="aclassoperations__on__datastructures_1_1trie__operations_1_1_tnode_html_a097913c4badec2b60d50a171ecc299fe"><div class="ttname"><a href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a097913c4badec2b60d50a171ecc299fe">operations_on_datastructures::trie_operations::Tnode::SuggestAutocomplete</a></div><div class="ttdeci">void SuggestAutocomplete(Tnode *new_root, const std::string &amp;prefix)</div><div class="ttdoc">Recursive function to suggest all the entries of trie which have a given common prefix.</div><div class="ttdef"><b>Definition:</b> trie_multiple_search.cpp:246</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
@@ -743,15 +749,15 @@ Here is the call graph for this function:</div>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> {</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> <span class="comment">// Display Either top 3 or total number of suggestions, whichever is smaller</span></div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> <span class="keywordtype">int</span> n = suggestions-&gt;<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/size.html">size</a>(), Top = 0;</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> Top = n &lt; 3 ? n : 3;</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> <span class="keywordflow">while</span> (Top--) {</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; suggestions-&gt;<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/top.html">top</a>().second &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> suggestions-&gt;<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/pop.html">pop</a>();</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> }</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span>}</div>
<div class="fragment"><div class="line"><span class="lineno"> 318</span> {</div>
<div class="line"><span class="lineno"> 319</span> <span class="comment">// Display Either top 3 or total number of suggestions, whichever is smaller</span></div>
<div class="line"><span class="lineno"> 320</span> <span class="keywordtype">int</span> n = suggestions-&gt;<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/size.html">size</a>(), Top = 0;</div>
<div class="line"><span class="lineno"> 321</span> Top = n &lt; 3 ? n : 3;</div>
<div class="line"><span class="lineno"> 322</span> <span class="keywordflow">while</span> (Top--) {</div>
<div class="line"><span class="lineno"> 323</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; suggestions-&gt;<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/top.html">top</a>().second &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 324</span> suggestions-&gt;<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/pop.html">pop</a>();</div>
<div class="line"><span class="lineno"> 325</span> }</div>
<div class="line"><span class="lineno"> 326</span>}</div>
<div class="ttc" id="apop_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/priority_queue/pop.html">std::priority_queue::pop</a></div><div class="ttdeci">T pop(T... args)</div></div>
<div class="ttc" id="atop_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/priority_queue/top.html">std::priority_queue::top</a></div><div class="ttdeci">T top(T... args)</div></div>
</div><!-- fragment --><div class="dynheader">
@@ -797,22 +803,22 @@ Here is the call graph for this function:</div>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> {</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="comment">// Iterate through all 26 nodes as we have to print all strings with the</span></div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <span class="comment">// given prefix</span></div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="keywordtype">int</span> i = 0;</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">for</span> (i = 0; i &lt; ENGLISH_ALPHABET_SIZE; i++) {</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="keywordflow">if</span> (new_root-&gt;english[i] != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <span class="comment">// Print the sugestion only if it&#39;s a valid complete entry and not</span></div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <span class="comment">// just a prefix</span></div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">if</span> (new_root-&gt;english[i]-&gt;endOfWord) {</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; prefix + char(i + 97) &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> }</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> </div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a097913c4badec2b60d50a171ecc299fe">SuggestAutocomplete</a>(new_root-&gt;english[i], prefix + <span class="keywordtype">char</span>(i + 97));</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> }</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> }</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span>}</div>
<div class="fragment"><div class="line"><span class="lineno"> 246</span> {</div>
<div class="line"><span class="lineno"> 247</span> <span class="comment">// Iterate through all 26 nodes as we have to print all strings with the</span></div>
<div class="line"><span class="lineno"> 248</span> <span class="comment">// given prefix</span></div>
<div class="line"><span class="lineno"> 249</span> <span class="keywordtype">int</span> i = 0;</div>
<div class="line"><span class="lineno"> 250</span> <span class="keywordflow">for</span> (i = 0; i &lt; ENGLISH_ALPHABET_SIZE; i++) {</div>
<div class="line"><span class="lineno"> 251</span> <span class="keywordflow">if</span> (new_root-&gt;english[i] != <span class="keyword">nullptr</span>) {</div>
<div class="line"><span class="lineno"> 252</span> <span class="comment">// Print the sugestion only if it&#39;s a valid complete entry and not</span></div>
<div class="line"><span class="lineno"> 253</span> <span class="comment">// just a prefix</span></div>
<div class="line"><span class="lineno"> 254</span> <span class="keywordflow">if</span> (new_root-&gt;english[i]-&gt;endOfWord) {</div>
<div class="line"><span class="lineno"> 255</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; prefix + char(i + 97) &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 256</span> }</div>
<div class="line"><span class="lineno"> 257</span> </div>
<div class="line"><span class="lineno"> 258</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a097913c4badec2b60d50a171ecc299fe">SuggestAutocomplete</a>(new_root-&gt;english[i], prefix + <span class="keywordtype">char</span>(i + 97));</div>
<div class="line"><span class="lineno"> 259</span> }</div>
<div class="line"><span class="lineno"> 260</span> }</div>
<div class="line"><span class="lineno"> 261</span>}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -863,22 +869,22 @@ Here is the call graph for this function:</div>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> {</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <span class="keywordtype">int</span> i = 0;</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> <span class="keywordflow">for</span> (i = 0; i &lt; ENGLISH_ALPHABET_SIZE; i++) {</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> <span class="keywordflow">if</span> (new_root-&gt;english[i] != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> <span class="comment">// Add to sugestions only if it&#39;s a valid complete entry and not</span></div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> <span class="comment">// just a prefix</span></div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">if</span> (new_root-&gt;english[i]-&gt;endOfWord) {</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> suggestions-&gt;<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/push.html">push</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html">std::make_pair</a>(</div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> new_root-&gt;english[i]-&gt;frequency, prefix + <span class="keywordtype">char</span>(i + 97)));</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> }</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> </div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a9e556f52c837190ecf4265b1f05cfe9c">SuggestFreqAutocomplete</a>(new_root-&gt;english[i], prefix + <span class="keywordtype">char</span>(i + 97),</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> suggestions);</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> }</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> }</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span>}</div>
<div class="fragment"><div class="line"><span class="lineno"> 339</span> {</div>
<div class="line"><span class="lineno"> 340</span> <span class="keywordtype">int</span> i = 0;</div>
<div class="line"><span class="lineno"> 341</span> <span class="keywordflow">for</span> (i = 0; i &lt; ENGLISH_ALPHABET_SIZE; i++) {</div>
<div class="line"><span class="lineno"> 342</span> <span class="keywordflow">if</span> (new_root-&gt;english[i] != <span class="keyword">nullptr</span>) {</div>
<div class="line"><span class="lineno"> 343</span> <span class="comment">// Add to sugestions only if it&#39;s a valid complete entry and not</span></div>
<div class="line"><span class="lineno"> 344</span> <span class="comment">// just a prefix</span></div>
<div class="line"><span class="lineno"> 345</span> <span class="keywordflow">if</span> (new_root-&gt;english[i]-&gt;endOfWord) {</div>
<div class="line"><span class="lineno"> 346</span> suggestions-&gt;<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/push.html">push</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html">std::make_pair</a>(</div>
<div class="line"><span class="lineno"> 347</span> new_root-&gt;english[i]-&gt;frequency, prefix + <span class="keywordtype">char</span>(i + 97)));</div>
<div class="line"><span class="lineno"> 348</span> }</div>
<div class="line"><span class="lineno"> 349</span> </div>
<div class="line"><span class="lineno"> 350</span> <a class="code hl_function" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a9e556f52c837190ecf4265b1f05cfe9c">SuggestFreqAutocomplete</a>(new_root-&gt;english[i], prefix + <span class="keywordtype">char</span>(i + 97),</div>
<div class="line"><span class="lineno"> 351</span> suggestions);</div>
<div class="line"><span class="lineno"> 352</span> }</div>
<div class="line"><span class="lineno"> 353</span> }</div>
<div class="line"><span class="lineno"> 354</span>}</div>
<div class="ttc" id="amake_pair_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html">std::make_pair</a></div><div class="ttdeci">T make_pair(T... args)</div></div>
<div class="ttc" id="apush_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/priority_queue/push.html">std::priority_queue::push</a></div><div class="ttdeci">T push(T... args)</div></div>
</div><!-- fragment --><div class="dynheader">
@@ -899,7 +905,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../da/d6d/namespaceoperations__on__datastructures.html">operations_on_datastructures</a></li><li class="navelem"><b>trie_operations</b></li><li class="navelem"><a class="el" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html">Tnode</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.9.2 </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.9.3 </li>
</ul>
</div>
</body>

View File

@@ -1,4 +1,4 @@
<map id="operations_on_datastructures::trie_operations::Tnode::SuggestAutocomplete" name="operations_on_datastructures::trie_operations::Tnode::SuggestAutocomplete">
<area shape="rect" id="node1" title="Recursive function to suggest all the entries of trie which have a given common prefix." alt="" coords="5,29,199,85"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="247,44,319,71"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl#" title=" " alt="" coords="247,44,319,71"/>
</map>

View File

@@ -1 +1 @@
270bc1db15b7a22c08b636bad4651395
1133d81cf3f12bef523eba7696a8c968

View File

@@ -29,7 +29,7 @@
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl#" xlink:title=" ">
<polygon fill="white" stroke="black" points="181,-11.5 181,-30.5 235,-30.5 235,-11.5 181,-11.5"/>
<text text-anchor="middle" x="208" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,5 +1,5 @@
<map id="operations_on_datastructures::trie_operations::Tnode::SearchSuggestions" name="operations_on_datastructures::trie_operations::Tnode::SearchSuggestions">
<area shape="rect" id="node1" title="Lists out all the words in trie with the longest prefix of the search key that is present in the trie..." alt="" coords="5,5,199,61"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="488,20,560,47"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl#" title=" " alt="" coords="488,20,560,47"/>
<area shape="rect" id="node3" href="$d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a097913c4badec2b60d50a171ecc299fe" title="Recursive function to suggest all the entries of trie which have a given common prefix." alt="" coords="247,49,440,105"/>
</map>

View File

@@ -1 +1 @@
c2b800c820352a7d9889647592d0345d
e1572ef3f27f60d65f72a4e03999ee0d

View File

@@ -23,7 +23,7 @@
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl#" xlink:title=" ">
<polygon fill="white" stroke="black" points="362,-44.5 362,-63.5 416,-63.5 416,-44.5 362,-44.5"/>
<text text-anchor="middle" x="389" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -1,7 +1,7 @@
<map id="operations_on_datastructures::trie_operations::Tnode::SearchFreqSuggestions" name="operations_on_datastructures::trie_operations::Tnode::SearchFreqSuggestions">
<area shape="rect" id="node1" title="Lists out the most frequent words in trie with the longest prefix of the search key that is present i..." alt="" coords="5,24,199,80"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="506,6,578,33"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl#" title=" " alt="" coords="506,6,578,33"/>
<area shape="rect" id="node3" href="$d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aacafb8c9f3ebac7ac6c01d9645bb67b6" title="Function to display the 3 suggestions with highest frequency of search hits." alt="" coords="247,24,440,80"/>
<area shape="rect" id="node4" href="$d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a9e556f52c837190ecf4265b1f05cfe9c" title="Recursive function to suggest most frequently searched entries of trie which have a given common pref..." alt="" coords="247,128,440,184"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/pair/make_pair.html#" title=" " alt="" coords="488,142,596,169"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/pair/make_pair#" title=" " alt="" coords="488,142,596,169"/>
</map>

View File

@@ -1 +1 @@
84ab290794e554d0cab82e3e564daaa0
8eba025ec118e3cdf46c35238c92b561

View File

@@ -23,7 +23,7 @@
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl#" xlink:title=" ">
<polygon fill="white" stroke="black" points="375.5,-113.5 375.5,-132.5 429.5,-132.5 429.5,-113.5 375.5,-113.5"/>
<text text-anchor="middle" x="402.5" y="-120.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
@@ -84,7 +84,7 @@
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html#" xlink:title=" ">
<g id="a_node5"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/pair/make_pair#" xlink:title=" ">
<polygon fill="white" stroke="black" points="362,-11.5 362,-30.5 443,-30.5 443,-11.5 362,-11.5"/>
<text text-anchor="middle" x="402.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::make_pair</text>
</a>

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@@ -1,4 +1,4 @@
<map id="operations_on_datastructures::trie_operations::Tnode::SuggestFreqAutocomplete" name="operations_on_datastructures::trie_operations::Tnode::SuggestFreqAutocomplete">
<area shape="rect" id="node1" title="Recursive function to suggest most frequently searched entries of trie which have a given common pref..." alt="" coords="5,29,199,85"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/pair/make_pair.html#" title=" " alt="" coords="247,44,355,71"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/pair/make_pair#" title=" " alt="" coords="247,44,355,71"/>
</map>

View File

@@ -1 +1 @@
896cfcadabf7afb2d9202c9550110287
659671bde04a4d26367b6b80ed1633ce

View File

@@ -29,7 +29,7 @@
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html#" xlink:title=" ">
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/pair/make_pair#" xlink:title=" ">
<polygon fill="white" stroke="black" points="181,-11.5 181,-30.5 262,-30.5 262,-11.5 181,-11.5"/>
<text text-anchor="middle" x="221.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::make_pair</text>
</a>

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,4 +1,4 @@
<map id="operations_on_datastructures::trie_operations::Tnode::SelectionTop_3" name="operations_on_datastructures::trie_operations::Tnode::SelectionTop_3">
<area shape="rect" id="node1" title="Function to display the 3 suggestions with highest frequency of search hits." alt="" coords="5,5,199,61"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="247,20,319,47"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl#" title=" " alt="" coords="247,20,319,47"/>
</map>

View File

@@ -1 +1 @@
9d73370c008ac76b3642249572aaa60d
b5fab7de2d481ac9e7480a6b1c22cd39

View File

@@ -23,7 +23,7 @@
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl#" xlink:title=" ">
<polygon fill="white" stroke="black" points="181,-11.5 181,-30.5 235,-30.5 235,-11.5 181,-11.5"/>
<text text-anchor="middle" x="208" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -1,4 +1,4 @@
<map id="operations_on_datastructures::trie_operations::Tnode::DeleteFrom" name="operations_on_datastructures::trie_operations::Tnode::DeleteFrom">
<area shape="rect" id="node1" title="Function recursively deletes the substring character by character iterating through the string to be ..." alt="" coords="5,29,199,85"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/basic_string/size.html#" title=" " alt="" coords="247,44,359,71"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/basic_string/size#" title=" " alt="" coords="247,44,359,71"/>
</map>

View File

@@ -1 +1 @@
ab250400f33229485d9c85b5013a1515
684a5b15e1a76577bbf8f43adba5b8f2

View File

@@ -29,7 +29,7 @@
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/string/basic_string/size.html#" xlink:title=" ">
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/string/basic_string/size#" xlink:title=" ">
<polygon fill="white" stroke="black" points="181,-11.5 181,-30.5 265,-30.5 265,-11.5 181,-11.5"/>
<text text-anchor="middle" x="223" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::size</text>
</a>

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,8 +1,8 @@
<map id="operations_on_datastructures::trie_operations::Tnode::Delete" name="operations_on_datastructures::trie_operations::Tnode::Delete">
<area shape="rect" id="node1" title="Function to verify presence and hence delete an entry from the trie." alt="" coords="5,120,199,176"/>
<area shape="rect" id="node2" href="$d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#adef6940391f981ab86767775176b7169" title="Function recursively deletes the substring character by character iterating through the string to be ..." alt="" coords="247,29,440,85"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/basic_string/size.html#" title=" " alt="" coords="488,77,600,104"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="307,160,379,187"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/basic_string/size#" title=" " alt="" coords="488,77,600,104"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl#" title=" " alt="" coords="307,160,379,187"/>
<area shape="rect" id="node5" href="$d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#afca808362c13273ca8c8ae7d58e8eee0" title="Function to count the number of children a node in the trie has." alt="" coords="247,211,440,267"/>
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/count.html#" title=" " alt="" coords="504,225,584,252"/>
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/count#" title=" " alt="" coords="504,225,584,252"/>
</map>

View File

@@ -1 +1 @@
826521cf28b67c6d7ee998ab138e9f2a
328374e83023a0298a2bb15cebddef8d

View File

@@ -40,7 +40,7 @@
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/string/basic_string/size.html#" xlink:title=" ">
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/string/basic_string/size#" xlink:title=" ">
<polygon fill="white" stroke="black" points="362,-122.5 362,-141.5 446,-141.5 446,-122.5 362,-122.5"/>
<text text-anchor="middle" x="404" y="-129.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::size</text>
</a>
@@ -55,7 +55,7 @@
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl#" xlink:title=" ">
<polygon fill="white" stroke="black" points="226.5,-60.5 226.5,-79.5 280.5,-79.5 280.5,-60.5 226.5,-60.5"/>
<text text-anchor="middle" x="253.5" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
@@ -99,7 +99,7 @@
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/count.html#" xlink:title=" ">
<g id="a_node6"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/count#" xlink:title=" ">
<polygon fill="white" stroke="black" points="374,-11.5 374,-30.5 434,-30.5 434,-11.5 374,-11.5"/>
<text text-anchor="middle" x="404" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::count</text>
</a>

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

@@ -1,4 +1,4 @@
<map id="operations_on_datastructures::trie_operations::Tnode::numberOfChildren" name="operations_on_datastructures::trie_operations::Tnode::numberOfChildren">
<area shape="rect" id="node1" title="Function to count the number of children a node in the trie has." alt="" coords="5,5,199,61"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/count.html#" title=" " alt="" coords="247,20,327,47"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/count#" title=" " alt="" coords="247,20,327,47"/>
</map>

View File

@@ -1 +1 @@
57a020cdc38538a010092672403ed334
799504ab3cf4632306c1ada5032a5512

View File

@@ -23,7 +23,7 @@
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/count.html#" xlink:title=" ">
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/count#" xlink:title=" ">
<polygon fill="white" stroke="black" points="181,-11.5 181,-30.5 241,-30.5 241,-11.5 181,-11.5"/>
<text text-anchor="middle" x="211" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::count</text>
</a>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB