Documentation for 341ed50da8

This commit is contained in:
github-actions
2021-09-03 19:56:17 +00:00
parent 52d0c55145
commit 08e8eb037e
3432 changed files with 71392 additions and 72953 deletions

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<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>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('annotated.html',''); initResizable(); });
/* @license-end */
</script>
@@ -90,16 +90,15 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class List</div> </div>
<div class="headertitle"><div class="title">Class List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d6/d4e/namespaceciphers.html" target="_self">ciphers</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Base64">Base64 Encoding and Decoding</a> </td></tr>
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d6/d4e/namespaceciphers.html" target="_self">ciphers</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Base64" target="_blank">Base64 Encoding and Decoding</a> </td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html" target="_self">elliptic_curve_key_exchange</a></td><td class="desc">Namespace <a class="el" href="df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html" title="namespace elliptic_curve_key_exchange">elliptic_curve_key_exchange</a> </td></tr>
<tr id="row_0_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html" target="_self">Point</a></td><td class="desc">Definition of struct <a class="el" href="d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html" title="Definition of struct Point.">Point</a> </td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html" target="_self">HillCipher</a></td><td class="desc">Implementation of <a href="https://en.wikipedia.org/wiki/Hill_cipher">Hill Cipher</a> algorithm </td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html" target="_self">HillCipher</a></td><td class="desc">Implementation of <a href="https://en.wikipedia.org/wiki/Hill_cipher" target="_blank">Hill Cipher</a> algorithm </td></tr>
<tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d5/d3c/namespacedata__structures.html" target="_self">data_structures</a></td><td class="desc">Data Structures algorithms </td></tr>
<tr id="row_1_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_0_" class="arrow" onclick="toggleFolder('1_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>linked_list</b></td><td class="desc"></td></tr>
<tr id="row_1_0_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d9d/classdata__structures_1_1linked__list_1_1link.html" target="_self">link</a></td><td class="desc"></td></tr>
@@ -118,28 +117,28 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();
<tr id="row_1_5_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html" target="_self">Node</a></td><td class="desc">Struct representing a trie node </td></tr>
<tr id="row_1_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d49/structdata__structures_1_1_node.html" target="_self">Node</a></td><td class="desc"></td></tr>
<tr id="row_1_7_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/d90/classdata__structures_1_1_skip_list.html" target="_self">SkipList</a></td><td class="desc"></td></tr>
<tr id="row_1_8_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/d3e/classdata__structures_1_1trie.html" target="_self">trie</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Trie">Trie</a> implementation for small-case English alphabets <code>a-z</code> </td></tr>
<tr id="row_2_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d0/d65/namespacedouble__hashing.html" target="_self">double_hashing</a></td><td class="desc">An implementation of hash table using <a href="https://en.wikipedia.org/wiki/Double_hashing">double hashing</a> algorithm </td></tr>
<tr id="row_1_8_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/d3e/classdata__structures_1_1trie.html" target="_self">trie</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Trie" target="_blank">Trie</a> implementation for small-case English alphabets <code>a-z</code> </td></tr>
<tr id="row_2_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d0/d65/namespacedouble__hashing.html" target="_self">double_hashing</a></td><td class="desc">An implementation of hash table using <a href="https://en.wikipedia.org/wiki/Double_hashing" target="_blank">double hashing</a> algorithm </td></tr>
<tr id="row_2_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/dde/structdouble__hashing_1_1_entry.html" target="_self">Entry</a></td><td class="desc"></td></tr>
<tr id="row_3_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d5/d5f/namespacegeometry.html" target="_self">geometry</a></td><td class="desc">Geometry algorithms </td></tr>
<tr id="row_3_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_3_0_" class="arrow" onclick="toggleFolder('3_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>jarvis</b></td><td class="desc"></td></tr>
<tr id="row_3_0_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d5a/structgeometry_1_1jarvis_1_1_point.html" target="_self">Point</a></td><td class="desc"></td></tr>
<tr id="row_3_0_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html" target="_self">Convexhull</a></td><td class="desc"></td></tr>
<tr id="row_3_0_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html" target="_self">Convexhull</a></td><td class="desc"></td></tr>
<tr id="row_3_0_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d5a/structgeometry_1_1jarvis_1_1_point.html" target="_self">Point</a></td><td class="desc"></td></tr>
<tr id="row_4_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="df/dce/namespacegraph.html" target="_self">graph</a></td><td class="desc"><a class="el" href="dc/d61/classgraph_1_1_graph.html">Graph</a> Algorithms </td></tr>
<tr id="row_4_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_4_0_" class="arrow" onclick="toggleFolder('4_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>is_graph_bipartite</b></td><td class="desc"></td></tr>
<tr id="row_4_0_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html" target="_self">Graph</a></td><td class="desc">Class for representing graph as an adjacency list </td></tr>
<tr id="row_4_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d61/classgraph_1_1_graph.html" target="_self">Graph</a></td><td class="desc"></td></tr>
<tr id="row_4_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d69/classgraph_1_1_h_k_graph.html" target="_self">HKGraph</a></td><td class="desc">Represents Bipartite graph for Hopcroft Karp implementation </td></tr>
<tr id="row_4_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/d58/classgraph_1_1_rooted_tree.html" target="_self">RootedTree</a></td><td class="desc"></td></tr>
<tr id="row_4_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d23/classgraph_1_1_lowest_common_ancestor.html" target="_self">LowestCommonAncestor</a></td><td class="desc"></td></tr>
<tr id="row_5_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_5_" class="arrow" onclick="toggleFolder('5_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d8/d89/namespacelinear__probing.html" target="_self">linear_probing</a></td><td class="desc">An implementation of hash table using <a href="https://en.wikipedia.org/wiki/Linear_probing">linear probing</a> algorithm </td></tr>
<tr id="row_4_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d23/classgraph_1_1_lowest_common_ancestor.html" target="_self">LowestCommonAncestor</a></td><td class="desc"></td></tr>
<tr id="row_4_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/d58/classgraph_1_1_rooted_tree.html" target="_self">RootedTree</a></td><td class="desc"></td></tr>
<tr id="row_5_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_5_" class="arrow" onclick="toggleFolder('5_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d8/d89/namespacelinear__probing.html" target="_self">linear_probing</a></td><td class="desc">An implementation of hash table using <a href="https://en.wikipedia.org/wiki/Linear_probing" target="_blank">linear probing</a> algorithm </td></tr>
<tr id="row_5_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d19/structlinear__probing_1_1_entry.html" target="_self">Entry</a></td><td class="desc"></td></tr>
<tr id="row_6_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_6_" class="arrow" onclick="toggleFolder('6_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d8/d77/namespacemachine__learning.html" target="_self">machine_learning</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/A*_search_algorithm">A* search algorithm</a> </td></tr>
<tr id="row_6_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_6_" class="arrow" onclick="toggleFolder('6_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d8/d77/namespacemachine__learning.html" target="_self">machine_learning</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/A*_search_algorithm" target="_blank">A* search algorithm</a> </td></tr>
<tr id="row_6_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_6_0_" class="arrow" onclick="toggleFolder('6_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>aystar_search</b></td><td class="desc"></td></tr>
<tr id="row_6_0_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html" target="_self">EightPuzzle</a></td><td class="desc">A class defining <a href="https://en.wikipedia.org/wiki/15_puzzle">EightPuzzle/15-Puzzle game</a> </td></tr>
<tr id="row_6_0_1_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_6_0_1_" class="arrow" onclick="toggleFolder('6_0_1_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html" target="_self">AyStarSearch</a></td><td class="desc">A class defining <a href="https://en.wikipedia.org/wiki/A*_search_algorithm">A* search algorithm</a>. for some initial state and final state </td></tr>
<tr id="row_6_0_1_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html" target="_self">comparison_operator</a></td><td class="desc">Custom comparator for open_list </td></tr>
<tr id="row_6_0_1_1_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html" target="_self">Info</a></td><td class="desc">Struct that handles all the information related to the current state </td></tr>
<tr id="row_6_0_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_6_0_0_" class="arrow" onclick="toggleFolder('6_0_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html" target="_self">AyStarSearch</a></td><td class="desc">A class defining <a href="https://en.wikipedia.org/wiki/A*_search_algorithm" target="_blank">A* search algorithm</a>. for some initial state and final state </td></tr>
<tr id="row_6_0_0_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html" target="_self">comparison_operator</a></td><td class="desc">Custom comparator for open_list </td></tr>
<tr id="row_6_0_0_1_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html" target="_self">Info</a></td><td class="desc">Struct that handles all the information related to the current state </td></tr>
<tr id="row_6_0_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html" target="_self">EightPuzzle</a></td><td class="desc">A class defining <a href="https://en.wikipedia.org/wiki/15_puzzle" target="_blank">EightPuzzle/15-Puzzle game</a> </td></tr>
<tr id="row_6_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_6_1_" class="arrow" onclick="toggleFolder('6_1_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>neural_network</b></td><td class="desc"></td></tr>
<tr id="row_6_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_6_1_0_" class="arrow" onclick="toggleFolder('6_1_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>layers</b></td><td class="desc"></td></tr>
<tr id="row_6_1_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html" target="_self">DenseLayer</a></td><td class="desc"></td></tr>
@@ -155,19 +154,19 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();
<tr id="row_8_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html" target="_self">Tnode</a></td><td class="desc">Class defining the structure of trie node and containing the methods to perform operations on them </td></tr>
<tr id="row_9_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_9_" class="arrow" onclick="toggleFolder('9_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d0/d6f/namespaceothers.html" target="_self">others</a></td><td class="desc">For <code>vector</code> </td></tr>
<tr id="row_9_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_9_0_" class="arrow" onclick="toggleFolder('9_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>iterative_tree_traversals</b></td><td class="desc"></td></tr>
<tr id="row_9_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html" target="_self">Node</a></td><td class="desc">Defines the structure of a node of the tree </td></tr>
<tr id="row_9_0_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html" target="_self">BinaryTree</a></td><td class="desc">Defines the functions associated with the binary tree </td></tr>
<tr id="row_9_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html" target="_self">BinaryTree</a></td><td class="desc">Defines the functions associated with the binary tree </td></tr>
<tr id="row_9_0_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html" target="_self">Node</a></td><td class="desc">Defines the structure of a node of the tree </td></tr>
<tr id="row_9_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_9_1_" class="arrow" onclick="toggleFolder('9_1_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>lru_cache</b></td><td class="desc"></td></tr>
<tr id="row_9_1_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html" target="_self">LRUCache</a></td><td class="desc">LRU cache class </td></tr>
<tr id="row_9_2_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_9_2_" class="arrow" onclick="toggleFolder('9_2_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>postfix_expression</b></td><td class="desc"></td></tr>
<tr id="row_9_2_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d8a/classothers_1_1postfix__expression_1_1_stack.html" target="_self">Stack</a></td><td class="desc">Creates an array to be used as stack for storing values </td></tr>
<tr id="row_10_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_10_" class="arrow" onclick="toggleFolder('10_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d4/dd2/namespacequadratic__probing.html" target="_self">quadratic_probing</a></td><td class="desc">An implementation of hash table using <a href="https://en.wikipedia.org/wiki/Quadratic_probing">quadratic probing</a> algorithm </td></tr>
<tr id="row_10_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_10_" class="arrow" onclick="toggleFolder('10_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d4/dd2/namespacequadratic__probing.html" target="_self">quadratic_probing</a></td><td class="desc">An implementation of hash table using <a href="https://en.wikipedia.org/wiki/Quadratic_probing" target="_blank">quadratic probing</a> algorithm </td></tr>
<tr id="row_10_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/dd1/structquadratic__probing_1_1_entry.html" target="_self">Entry</a></td><td class="desc"></td></tr>
<tr id="row_11_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_11_" class="arrow" onclick="toggleFolder('11_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="dd/d69/namespacerange__queries.html" target="_self">range_queries</a></td><td class="desc">Algorithms and Data Structures that support range queries and updates </td></tr>
<tr id="row_11_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_11_0_" class="arrow" onclick="toggleFolder('11_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>heavy_light_decomposition</b></td><td class="desc"></td></tr>
<tr id="row_11_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html" target="_self">Tree</a></td><td class="desc">A Basic <a class="el" href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html" title="A Basic Tree, which supports binary lifting.">Tree</a>, which supports binary lifting </td></tr>
<tr id="row_11_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html" target="_self">HLD</a></td><td class="desc">The Heavy-Light Decomposition class </td></tr>
<tr id="row_11_0_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html" target="_self">SG</a></td><td class="desc">Segment <a class="el" href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html" title="A Basic Tree, which supports binary lifting.">Tree</a>, to store heavy chains </td></tr>
<tr id="row_11_0_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html" target="_self">HLD</a></td><td class="desc">The Heavy-Light Decomposition class </td></tr>
<tr id="row_11_0_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html" target="_self">Tree</a></td><td class="desc">A Basic <a class="el" href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html" title="A Basic Tree, which supports binary lifting.">Tree</a>, which supports binary lifting </td></tr>
<tr id="row_11_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_11_1_" class="arrow" onclick="toggleFolder('11_1_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html" target="_self">perSegTree</a></td><td class="desc">Range query here is range sum, but the code can be modified to make different queries like range max or min </td></tr>
<tr id="row_11_1_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html" target="_self">Node</a></td><td class="desc"></td></tr>
<tr id="row_12_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_12_" class="arrow" onclick="toggleFolder('12_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d9/dca/namespacesearch.html" target="_self">search</a></td><td class="desc">For <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a> </td></tr>
@@ -177,11 +176,11 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();
<tr id="row_13_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d7c/classstatistics_1_1stats__computer1.html" target="_self">stats_computer1</a></td><td class="desc"></td></tr>
<tr id="row_13_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/dab/classstatistics_1_1stats__computer2.html" target="_self">stats_computer2</a></td><td class="desc"></td></tr>
<tr id="row_14_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_14_" class="arrow" onclick="toggleFolder('14_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d8/dcc/namespacestd.html" target="_self">std</a></td><td class="desc">STL namespace </td></tr>
<tr id="row_14_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html" target="_self">is_integral&lt; uint128_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_14_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html" target="_self">is_arithmetic&lt; uint128_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_14_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html" target="_self">is_unsigned&lt; uint128_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_14_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html" target="_self">is_arithmetic&lt; uint128_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_14_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html" target="_self">is_arithmetic&lt; uint256_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_14_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html" target="_self">is_integral&lt; uint128_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_14_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html" target="_self">is_integral&lt; uint256_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_14_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html" target="_self">is_arithmetic&lt; uint256_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_14_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html" target="_self">is_unsigned&lt; uint128_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_14_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html" target="_self">is_unsigned&lt; uint256_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_15_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_15_" class="arrow" onclick="toggleFolder('15_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/dde/classbinary__search__tree.html" target="_self">binary_search_tree</a></td><td class="desc">The Binary Search Tree class </td></tr>
<tr id="row_15_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/db6/structbinary__search__tree_1_1bst__node.html" target="_self">bst_node</a></td><td class="desc">A struct to represent a node in the Binary Search Tree </td></tr>
@@ -206,8 +205,8 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();
<tr id="row_34_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d8b/struct_node.html" target="_self">Node</a></td><td class="desc"></td></tr>
<tr id="row_35_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/dc8/struct_point.html" target="_self">Point</a></td><td class="desc"></td></tr>
<tr id="row_36_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d1b/structquery.html" target="_self">query</a></td><td class="desc"></td></tr>
<tr id="row_37_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/db5/struct_queue.html" target="_self">Queue</a></td><td class="desc"></td></tr>
<tr id="row_38_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/da9/classqueue.html" target="_self">queue</a></td><td class="desc"></td></tr>
<tr id="row_37_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/da9/classqueue.html" target="_self">queue</a></td><td class="desc"></td></tr>
<tr id="row_38_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/db5/struct_queue.html" target="_self">Queue</a></td><td class="desc"></td></tr>
<tr id="row_39_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d72/class_r_btree.html" target="_self">RBtree</a></td><td class="desc"></td></tr>
<tr id="row_40_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/db4/struct_segment_intersection.html" target="_self">SegmentIntersection</a></td><td class="desc"></td></tr>
<tr id="row_41_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d4f/class_solution.html" target="_self">Solution</a></td><td class="desc"></td></tr>
@@ -226,7 +225,7 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </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>
</ul>
</div>
</body>

View File

@@ -36,8 +36,8 @@ var annotated_dup =
] ],
[ "geometry", "d5/d5f/namespacegeometry.html", [
[ "jarvis", null, [
[ "Point", "d9/d5a/structgeometry_1_1jarvis_1_1_point.html", "d9/d5a/structgeometry_1_1jarvis_1_1_point" ],
[ "Convexhull", "d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html", "d4/dde/classgeometry_1_1jarvis_1_1_convexhull" ]
[ "Convexhull", "d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html", "d4/dde/classgeometry_1_1jarvis_1_1_convexhull" ],
[ "Point", "d9/d5a/structgeometry_1_1jarvis_1_1_point.html", null ]
] ]
] ],
[ "graph", "df/dce/namespacegraph.html", [
@@ -46,16 +46,16 @@ var annotated_dup =
] ],
[ "Graph", "dc/d61/classgraph_1_1_graph.html", "dc/d61/classgraph_1_1_graph" ],
[ "HKGraph", "d8/d69/classgraph_1_1_h_k_graph.html", "d8/d69/classgraph_1_1_h_k_graph" ],
[ "RootedTree", "d0/d58/classgraph_1_1_rooted_tree.html", "d0/d58/classgraph_1_1_rooted_tree" ],
[ "LowestCommonAncestor", "d9/d23/classgraph_1_1_lowest_common_ancestor.html", "d9/d23/classgraph_1_1_lowest_common_ancestor" ]
[ "LowestCommonAncestor", "d9/d23/classgraph_1_1_lowest_common_ancestor.html", "d9/d23/classgraph_1_1_lowest_common_ancestor" ],
[ "RootedTree", "d0/d58/classgraph_1_1_rooted_tree.html", "d0/d58/classgraph_1_1_rooted_tree" ]
] ],
[ "linear_probing", "d8/d89/namespacelinear__probing.html", [
[ "Entry", "db/d19/structlinear__probing_1_1_entry.html", "db/d19/structlinear__probing_1_1_entry" ]
] ],
[ "machine_learning", "d8/d77/namespacemachine__learning.html", [
[ "aystar_search", null, [
[ "EightPuzzle", "dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html", "dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle" ],
[ "AyStarSearch", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search" ]
[ "AyStarSearch", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search" ],
[ "EightPuzzle", "dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html", "dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle" ]
] ],
[ "neural_network", null, [
[ "layers", null, [
@@ -80,8 +80,8 @@ var annotated_dup =
] ],
[ "others", "d0/d6f/namespaceothers.html", [
[ "iterative_tree_traversals", null, [
[ "Node", "d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html", "d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node" ],
[ "BinaryTree", "d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html", "d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree" ]
[ "BinaryTree", "d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html", "d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree" ],
[ "Node", "d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html", "d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node" ]
] ],
[ "lru_cache", null, [
[ "LRUCache", "d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html", "d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache" ]
@@ -95,9 +95,9 @@ var annotated_dup =
] ],
[ "range_queries", "dd/d69/namespacerange__queries.html", [
[ "heavy_light_decomposition", null, [
[ "Tree", "d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html", "d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree" ],
[ "HLD", "d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html", "d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d" ],
[ "SG", "d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html", "d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g" ],
[ "HLD", "d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html", "d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d" ]
[ "Tree", "d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html", "d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree" ]
] ],
[ "perSegTree", "d8/d28/classrange__queries_1_1per_seg_tree.html", "d8/d28/classrange__queries_1_1per_seg_tree" ]
] ],
@@ -111,42 +111,42 @@ var annotated_dup =
[ "stats_computer2", "d8/dab/classstatistics_1_1stats__computer2.html", "d8/dab/classstatistics_1_1stats__computer2" ]
] ],
[ "std", "d8/dcc/namespacestd.html", [
[ "is_integral< uint128_t >", "d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html", null ],
[ "is_arithmetic< uint128_t >", "d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html", null ],
[ "is_unsigned< uint128_t >", "d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html", null ],
[ "is_integral< uint256_t >", "d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html", null ],
[ "is_arithmetic< uint256_t >", "dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html", null ],
[ "is_integral< uint128_t >", "d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html", null ],
[ "is_integral< uint256_t >", "d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html", null ],
[ "is_unsigned< uint128_t >", "d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html", null ],
[ "is_unsigned< uint256_t >", "df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html", null ]
] ],
[ "binary_search_tree", "d9/dde/classbinary__search__tree.html", "d9/dde/classbinary__search__tree" ],
[ "Btree", "d9/d90/struct_btree.html", "d9/d90/struct_btree" ],
[ "cll", "d5/d15/classcll.html", "d5/d15/classcll" ],
[ "compare", "d1/db3/structcompare.html", "d1/db3/structcompare" ],
[ "Btree", "d9/d90/struct_btree.html", null ],
[ "cll", "d5/d15/classcll.html", null ],
[ "compare", "d1/db3/structcompare.html", null ],
[ "Complex", "da/d5a/class_complex.html", "da/d5a/class_complex" ],
[ "CycleCheck", "d3/dbb/class_cycle_check.html", "d3/dbb/class_cycle_check" ],
[ "double_linked_list", "d9/dee/classdouble__linked__list.html", "d9/dee/classdouble__linked__list" ],
[ "double_linked_list", "d9/dee/classdouble__linked__list.html", null ],
[ "Edge", "d7/d77/class_edge.html", "d7/d77/class_edge" ],
[ "FenwickTree", "dd/d91/class_fenwick_tree.html", "dd/d91/class_fenwick_tree" ],
[ "Graph", "da/d9a/class_graph.html", "da/d9a/class_graph" ],
[ "hash_chain", "dd/d1c/classhash__chain.html", "dd/d1c/classhash__chain" ],
[ "Item", "db/d66/struct_item.html", "db/d66/struct_item" ],
[ "Item", "db/d66/struct_item.html", null ],
[ "large_number", "db/d82/classlarge__number.html", "db/d82/classlarge__number" ],
[ "linkedlist", "d0/dff/structlinkedlist.html", "d0/dff/structlinkedlist" ],
[ "linkedlist", "d0/dff/structlinkedlist.html", null ],
[ "list", "d8/d10/structlist.html", "d8/d10/structlist" ],
[ "MinHeap", "d2/d05/class_min_heap.html", "d2/d05/class_min_heap" ],
[ "MinHeapNode", "d5/d29/struct_min_heap_node.html", "d5/d29/struct_min_heap_node" ],
[ "mst", "d1/d77/structmst.html", "d1/d77/structmst" ],
[ "MinHeapNode", "d5/d29/struct_min_heap_node.html", null ],
[ "mst", "d1/d77/structmst.html", null ],
[ "node", "d5/da1/structnode.html", "d5/da1/structnode" ],
[ "Node", "db/d8b/struct_node.html", "db/d8b/struct_node" ],
[ "Node", "db/d8b/struct_node.html", null ],
[ "Point", "d8/dc8/struct_point.html", "d8/dc8/struct_point" ],
[ "query", "dd/d1b/structquery.html", "dd/d1b/structquery" ],
[ "Queue", "dc/db5/struct_queue.html", "dc/db5/struct_queue" ],
[ "query", "dd/d1b/structquery.html", null ],
[ "queue", "db/da9/classqueue.html", "db/da9/classqueue" ],
[ "RBtree", "d8/d72/class_r_btree.html", "d8/d72/class_r_btree" ],
[ "Queue", "dc/db5/struct_queue.html", null ],
[ "RBtree", "d8/d72/class_r_btree.html", null ],
[ "SegmentIntersection", "d4/db4/struct_segment_intersection.html", "d4/db4/struct_segment_intersection" ],
[ "Solution", "dd/d4f/class_solution.html", "dd/d4f/class_solution" ],
[ "Solution", "dd/d4f/class_solution.html", null ],
[ "stack", "d1/dc2/classstack.html", "d1/dc2/classstack" ],
[ "stack_linkedList", "d2/dc4/classstack__linked_list.html", "d2/dc4/classstack__linked_list" ],
[ "stack_linkedList", "d2/dc4/classstack__linked_list.html", null ],
[ "TestCases", "d5/d58/class_test_cases.html", "d5/d58/class_test_cases" ],
[ "tower", "d2/d2c/structtower.html", "d2/d2c/structtower" ],
[ "Trie", "dd/d2f/class_trie.html", "dd/d2f/class_trie" ],

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: Class Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<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>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classes.html',''); initResizable(); });
/* @license-end */
</script>
@@ -90,65 +90,64 @@ $(document).ready(function(){initNavTree('classes.html',''); initResizable(); })
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class Index</div> </div>
<div class="headertitle"><div class="title">Class Index</div></div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_Q">Q</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div>
<div class="classindex">
<dl class="classindex even">
<dt class="alphachar"><a name="letter_A">A</a></dt>
<dt class="alphachar"><a id="letter_A" name="letter_A">A</a></dt>
<dd><a class="el" href="d6/d30/classmachine__learning_1_1adaline.html">adaline</a> (<a class="el" href="d8/d77/namespacemachine__learning.html">machine_learning</a>)</dd><dd><a class="el" href="da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">AyStarSearch</a> (machine_learning::aystar_search)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_B">B</a></dt>
<dt class="alphachar"><a id="letter_B" name="letter_B">B</a></dt>
<dd><a class="el" href="d9/dde/classbinary__search__tree.html">binary_search_tree</a></dd><dd><a class="el" href="d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html">BinaryTree</a> (others::iterative_tree_traversals)</dd><dd><a class="el" href="dd/db6/structbinary__search__tree_1_1bst__node.html">binary_search_tree::bst_node</a></dd><dd><a class="el" href="d9/d90/struct_btree.html">Btree</a></dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_C">C</a></dt>
<dt class="alphachar"><a id="letter_C" name="letter_C">C</a></dt>
<dd><a class="el" href="d5/d15/classcll.html">cll</a></dd><dd><a class="el" href="d1/db3/structcompare.html">compare</a></dd><dd><a class="el" href="d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html">AyStarSearch::comparison_operator</a> (machine_learning::aystar_search)</dd><dd><a class="el" href="da/d5a/class_complex.html">Complex</a></dd><dd><a class="el" href="d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html">Convexhull</a> (geometry::jarvis)</dd><dd><a class="el" href="d3/dbb/class_cycle_check.html">CycleCheck</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_D">D</a></dt>
<dt class="alphachar"><a id="letter_D" name="letter_D">D</a></dt>
<dd><a class="el" href="dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html">DenseLayer</a> (machine_learning::neural_network::layers)</dd><dd><a class="el" href="d9/dee/classdouble__linked__list.html">double_linked_list</a></dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_E">E</a></dt>
<dt class="alphachar"><a id="letter_E" name="letter_E">E</a></dt>
<dd><a class="el" href="d7/d77/class_edge.html">Edge</a></dd><dd><a class="el" href="dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html">EightPuzzle</a> (machine_learning::aystar_search)</dd><dd><a class="el" href="d9/dde/structdouble__hashing_1_1_entry.html">Entry</a> (<a class="el" href="d0/d65/namespacedouble__hashing.html">double_hashing</a>)</dd><dd><a class="el" href="db/d19/structlinear__probing_1_1_entry.html">Entry</a> (<a class="el" href="d8/d89/namespacelinear__probing.html">linear_probing</a>)</dd><dd><a class="el" href="da/dd1/structquadratic__probing_1_1_entry.html">Entry</a> (<a class="el" href="d4/dd2/namespacequadratic__probing.html">quadratic_probing</a>)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_F">F</a></dt>
<dt class="alphachar"><a id="letter_F" name="letter_F">F</a></dt>
<dd><a class="el" href="dd/d91/class_fenwick_tree.html">FenwickTree</a></dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_G">G</a></dt>
<dt class="alphachar"><a id="letter_G" name="letter_G">G</a></dt>
<dd><a class="el" href="da/d9a/class_graph.html">Graph</a></dd><dd><a class="el" href="dc/d61/classgraph_1_1_graph.html">Graph</a> (<a class="el" href="df/dce/namespacegraph.html">graph</a>)</dd><dd><a class="el" href="de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html">Graph</a> (graph::is_graph_bipartite)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_H">H</a></dt>
<dt class="alphachar"><a id="letter_H" name="letter_H">H</a></dt>
<dd><a class="el" href="dd/d1c/classhash__chain.html">hash_chain</a></dd><dd><a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html">HillCipher</a> (<a class="el" href="d6/d4e/namespaceciphers.html">ciphers</a>)</dd><dd><a class="el" href="d8/d69/classgraph_1_1_h_k_graph.html">HKGraph</a> (<a class="el" href="df/dce/namespacegraph.html">graph</a>)</dd><dd><a class="el" href="d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html">HLD</a> (range_queries::heavy_light_decomposition)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_I">I</a></dt>
<dt class="alphachar"><a id="letter_I" name="letter_I">I</a></dt>
<dd><a class="el" href="da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">AyStarSearch::Info</a> (machine_learning::aystar_search)</dd><dd><a class="el" href="d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html">is_arithmetic&lt; uint128_t &gt;</a> (<a class="el" href="d8/dcc/namespacestd.html">std</a>)</dd><dd><a class="el" href="dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html">is_arithmetic&lt; uint256_t &gt;</a> (<a class="el" href="d8/dcc/namespacestd.html">std</a>)</dd><dd><a class="el" href="d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html">is_integral&lt; uint128_t &gt;</a> (<a class="el" href="d8/dcc/namespacestd.html">std</a>)</dd><dd><a class="el" href="d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html">is_integral&lt; uint256_t &gt;</a> (<a class="el" href="d8/dcc/namespacestd.html">std</a>)</dd><dd><a class="el" href="d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html">is_unsigned&lt; uint128_t &gt;</a> (<a class="el" href="d8/dcc/namespacestd.html">std</a>)</dd><dd><a class="el" href="df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html">is_unsigned&lt; uint256_t &gt;</a> (<a class="el" href="d8/dcc/namespacestd.html">std</a>)</dd><dd><a class="el" href="db/d66/struct_item.html">Item</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_L">L</a></dt>
<dt class="alphachar"><a id="letter_L" name="letter_L">L</a></dt>
<dd><a class="el" href="db/d82/classlarge__number.html">large_number</a></dd><dd><a class="el" href="de/d9d/classdata__structures_1_1linked__list_1_1link.html">link</a> (data_structures::linked_list)</dd><dd><a class="el" href="d0/dff/structlinkedlist.html">linkedlist</a></dd><dd><a class="el" href="d1/def/classdata__structures_1_1linked__list_1_1list.html">list</a> (data_structures::linked_list)</dd><dd><a class="el" href="d5/dab/structdata__structures_1_1list__array_1_1list.html">list</a> (data_structures::list_array)</dd><dd><a class="el" href="d8/d10/structlist.html">list</a></dd><dd><a class="el" href="d9/d23/classgraph_1_1_lowest_common_ancestor.html">LowestCommonAncestor</a> (<a class="el" href="df/dce/namespacegraph.html">graph</a>)</dd><dd><a class="el" href="d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html">LRUCache</a> (others::lru_cache)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_M">M</a></dt>
<dt class="alphachar"><a id="letter_M" name="letter_M">M</a></dt>
<dd><a class="el" href="d2/d05/class_min_heap.html">MinHeap</a></dd><dd><a class="el" href="d5/d29/struct_min_heap_node.html">MinHeapNode</a></dd><dd><a class="el" href="d1/d77/structmst.html">mst</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_N">N</a></dt>
<dt class="alphachar"><a id="letter_N" name="letter_N">N</a></dt>
<dd><a class="el" href="d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html">NCRModuloP</a> (math::ncr_modulo_p)</dd><dd><a class="el" href="d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">NeuralNetwork</a> (machine_learning::neural_network)</dd><dd><a class="el" href="d9/d49/structdata__structures_1_1_node.html">Node</a> (<a class="el" href="d5/d3c/namespacedata__structures.html">data_structures</a>)</dd><dd><a class="el" href="dd/d40/classdata__structures_1_1tree__234_1_1_node.html">Node</a> (data_structures::tree_234)</dd><dd><a class="el" href="d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html">Trie::Node</a> (data_structures::trie_using_hashmap)</dd><dd><a class="el" href="d5/da1/structnode.html">node</a></dd><dd><a class="el" href="db/d8b/struct_node.html">Node</a></dd><dd><a class="el" href="d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html">Node</a> (operations_on_datastructures::inorder_traversal_of_bst)</dd><dd><a class="el" href="d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html">Node</a> (others::iterative_tree_traversals)</dd><dd><a class="el" href="d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">perSegTree::Node</a> (<a class="el" href="dd/d69/namespacerange__queries.html">range_queries</a>)</dd><dd><a class="el" href="da/d61/structsearch_1_1sublist__search_1_1_node.html">Node</a> (search::sublist_search)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_P">P</a></dt>
<dt class="alphachar"><a id="letter_P" name="letter_P">P</a></dt>
<dd><a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html">perSegTree</a> (<a class="el" href="dd/d69/namespacerange__queries.html">range_queries</a>)</dd><dd><a class="el" href="d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html">Point</a> (<a class="el" href="df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html">ciphers::elliptic_curve_key_exchange</a>)</dd><dd><a class="el" href="d9/d5a/structgeometry_1_1jarvis_1_1_point.html">Point</a> (geometry::jarvis)</dd><dd><a class="el" href="d8/dc8/struct_point.html">Point</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_Q">Q</a></dt>
<dd><a class="el" href="dd/d1b/structquery.html">query</a></dd><dd><a class="el" href="dc/db5/struct_queue.html">Queue</a></dd><dd><a class="el" href="db/da9/classqueue.html">queue</a></dd><dd><a class="el" href="d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html">Queue_Array</a> (data_structures::queue_using_array)</dd></dl>
<dt class="alphachar"><a id="letter_Q" name="letter_Q">Q</a></dt>
<dd><a class="el" href="dd/d1b/structquery.html">query</a></dd><dd><a class="el" href="db/da9/classqueue.html">queue</a></dd><dd><a class="el" href="dc/db5/struct_queue.html">Queue</a></dd><dd><a class="el" href="d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html">Queue_Array</a> (data_structures::queue_using_array)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_R">R</a></dt>
<dt class="alphachar"><a id="letter_R" name="letter_R">R</a></dt>
<dd><a class="el" href="d8/d72/class_r_btree.html">RBtree</a></dd><dd><a class="el" href="d0/d58/classgraph_1_1_rooted_tree.html">RootedTree</a> (<a class="el" href="df/dce/namespacegraph.html">graph</a>)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_S">S</a></dt>
<dt class="alphachar"><a id="letter_S" name="letter_S">S</a></dt>
<dd><a class="el" href="d4/db4/struct_segment_intersection.html">SegmentIntersection</a></dd><dd><a class="el" href="d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html">SG</a> (range_queries::heavy_light_decomposition)</dd><dd><a class="el" href="d4/d90/classdata__structures_1_1_skip_list.html">SkipList</a> (<a class="el" href="d5/d3c/namespacedata__structures.html">data_structures</a>)</dd><dd><a class="el" href="dd/d4f/class_solution.html">Solution</a></dd><dd><a class="el" href="da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html">Sparse_table</a> (data_structures::sparse_table)</dd><dd><a class="el" href="d5/d8a/classothers_1_1postfix__expression_1_1_stack.html">Stack</a> (others::postfix_expression)</dd><dd><a class="el" href="d1/dc2/classstack.html">stack</a></dd><dd><a class="el" href="d2/dc4/classstack__linked_list.html">stack_linkedList</a></dd><dd><a class="el" href="d7/d7c/classstatistics_1_1stats__computer1.html">stats_computer1</a> (<a class="el" href="d2/dcf/namespacestatistics.html">statistics</a>)</dd><dd><a class="el" href="d8/dab/classstatistics_1_1stats__computer2.html">stats_computer2</a> (<a class="el" href="d2/dcf/namespacestatistics.html">statistics</a>)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_T">T</a></dt>
<dt class="alphachar"><a id="letter_T" name="letter_T">T</a></dt>
<dd><a class="el" href="d5/d58/class_test_cases.html">TestCases</a></dd><dd><a class="el" href="d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html">Tnode</a> (operations_on_datastructures::trie_operations)</dd><dd><a class="el" href="d2/d2c/structtower.html">tower</a></dd><dd><a class="el" href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">Tree</a> (range_queries::heavy_light_decomposition)</dd><dd><a class="el" href="d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html">Tree234</a> (data_structures::tree_234)</dd><dd><a class="el" href="d0/d3e/classdata__structures_1_1trie.html">trie</a> (<a class="el" href="d5/d3c/namespacedata__structures.html">data_structures</a>)</dd><dd><a class="el" href="d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html">Trie</a> (data_structures::trie_using_hashmap)</dd><dd><a class="el" href="dd/d2f/class_trie.html">Trie</a></dd><dd><a class="el" href="de/d48/struct_trie_1_1_trie_node.html">Trie::TrieNode</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_U">U</a></dt>
<dt class="alphachar"><a id="letter_U" name="letter_U">U</a></dt>
<dd><a class="el" href="db/d9a/classuint128__t.html">uint128_t</a></dd><dd><a class="el" href="d1/d83/classuint256__t.html">uint256_t</a></dd></dl>
</div>
</div><!-- contents -->
@@ -156,7 +155,7 @@ $(document).ready(function(){initNavTree('classes.html',''); initResizable(); })
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </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>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: others/smallest_circle.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<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>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d0/d01/smallest__circle_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -93,12 +93,11 @@ $(document).ready(function(){initNavTree('d0/d01/smallest__circle_8cpp.html','..
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">smallest_circle.cpp File Reference</div> </div>
<div class="headertitle"><div class="title">smallest_circle.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Get centre and radius of the <a href="https://en.wikipedia.org/wiki/Smallest-circle_problem">smallest circle</a> that circumscribes given set of points.
<p>Get centre and radius of the <a href="https://en.wikipedia.org/wiki/Smallest-circle_problem" target="_blank">smallest circle</a> that circumscribes given set of points.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;cmath&gt;</code><br />
<code>#include &lt;iostream&gt;</code><br />
@@ -110,12 +109,12 @@ Include dependency graph for smallest_circle.cpp:</div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/dc8/struct_point.html">Point</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a3cbebd6f4d2cdf227663c67fe41ba12a"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a> (const <a class="el" href="../../d8/dc8/struct_point.html">Point</a> &amp;A, const <a class="el" href="../../d8/dc8/struct_point.html">Point</a> &amp;B)</td></tr>
<tr class="separator:a3cbebd6f4d2cdf227663c67fe41ba12a"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -135,10 +134,10 @@ Functions</h2></td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Get centre and radius of the <a href="https://en.wikipedia.org/wiki/Smallest-circle_problem">smallest circle</a> that circumscribes given set of points. </p>
<dl class="section see"><dt>See also</dt><dd><a href="https://www.nayuki.io/page/smallest-enclosing-circle">other implementation</a> </dd></dl>
<div class="textblock"><p >Get centre and radius of the <a href="https://en.wikipedia.org/wiki/Smallest-circle_problem" target="_blank">smallest circle</a> that circumscribes given set of points. </p>
<dl class="section see"><dt>See also</dt><dd><a href="https://www.nayuki.io/page/smallest-enclosing-circle" target="_blank">other implementation</a> </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a0b0676df8e4da7a08c7ccaecea344903"></a>
<a id="a0b0676df8e4da7a08c7ccaecea344903" name="a0b0676df8e4da7a08c7ccaecea344903"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b0676df8e4da7a08c7ccaecea344903">&#9670;&nbsp;</a></span>circle()</h2>
<div class="memitem">
@@ -153,7 +152,7 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>Find the centre and radius of a circle enclosing a set of points.<br />
<p >Find the centre and radius of a circle enclosing a set of points.<br />
The function returns the radius of the circle and prints the coordinated of the centre of the circle. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">P</td><td>vector of points </td></tr>
@@ -161,71 +160,71 @@ The function returns the radius of the circle and prints the coordinated of the
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>radius of the circle </dd></dl>
<div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordtype">double</span> minR = INFINITY;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordtype">double</span> R;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="../../d8/dc8/struct_point.html">Point</a> C;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="../../d8/dc8/struct_point.html">Point</a> minC;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="comment">/* This code is invalid and does not give correct result for TEST 3 */</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="comment">// for each point in the list</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; P.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() - 2; i++)</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="comment">// for every subsequent point in the list</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> j = i + 1; j &lt; P.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); j++)</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="comment">// for every subsequent point in the list</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> k = j + 1; k &lt; P.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); k++) {</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="comment">// here, we now have picked three points from the given set of</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="comment">// points that we can use</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="comment">// viz., P[i], P[j] and P[k]</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; C.x = -0.5 * ((P[i].y * (P[j].x * P[j].x + P[j].y * P[j].y -</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; P[k].x * P[k].x - P[k].y * P[k].y) +</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; P[j].y * (P[k].x * P[k].x + P[k].y * P[k].y -</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; P[i].x * P[i].x - P[i].y * P[i].y) +</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; P[k].y * (P[i].x * P[i].x + P[i].y * P[i].y -</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; P[j].x * P[j].x - P[j].y * P[j].y)) /</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; (P[i].x * (P[j].y - P[k].y) +</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; P[j].x * (P[k].y - P[i].y) +</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; P[k].x * (P[i].y - P[j].y)));</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; C.<a class="code" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a> = 0.5 * ((P[i].x * (P[j].x * P[j].x + P[j].y * P[j].y -</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; P[k].x * P[k].x - P[k].y * P[k].y) +</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; P[j].x * (P[k].x * P[k].x + P[k].y * P[k].y -</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; P[i].x * P[i].x - P[i].y * P[i].y) +</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; P[k].x * (P[i].x * P[i].x + P[i].y * P[i].y -</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; P[j].x * P[j].x - P[j].y * P[j].y)) /</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; (P[i].x * (P[j].y - P[k].y) +</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; P[j].x * (P[k].y - P[i].y) +</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; P[k].x * (P[i].y - P[j].y)));</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; R = (<a class="code" href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a>(P[i], P[j]) * <a class="code" href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a>(P[j], P[k]) *</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a>(P[k], P[i])) /</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; (4 * <a class="code" href="../../d0/d01/smallest__circle_8cpp.html#a94682a4a70d5906857ca09de5b9fb2cc">TriangleArea</a>(P[i], P[j], P[k]));</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../d0/d01/smallest__circle_8cpp.html#aee6d48762c1dfb9f14627927f0c16fad">PointInCircle</a>(P, C, R)) {</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">if</span> (R &lt;= minR) {</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; minR = R;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; minC = C;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; }</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="comment">// for each point in the list</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; P.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() - 1; i++)</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="comment">// for every subsequent point in the list</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> j = i + 1; j &lt; P.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); j++) {</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="comment">// check for diameterically opposite points</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; C.x = (P[i].x + P[j].x) / 2;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; C.<a class="code" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a> = (P[i].y + P[j].y) / 2;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; R = <a class="code" href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a>(C, P[i]);</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../d0/d01/smallest__circle_8cpp.html#aee6d48762c1dfb9f14627927f0c16fad">PointInCircle</a>(P, C, R)) {</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span> (R &lt;= minR) {</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; minR = R;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; minC = C;</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; }</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; }</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; minC.x &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; minC.<a class="code" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">return</span> minR;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> {</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">double</span> minR = INFINITY;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">double</span> R;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <a class="code hl_struct" href="../../d8/dc8/struct_point.html">Point</a> C;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <a class="code hl_struct" href="../../d8/dc8/struct_point.html">Point</a> minC;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/* This code is invalid and does not give correct result for TEST 3 */</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="comment">// for each point in the list</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; P.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() - 2; i++)</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="comment">// for every subsequent point in the list</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> j = i + 1; j &lt; P.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); j++)</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="comment">// for every subsequent point in the list</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> k = j + 1; k &lt; P.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); k++) {</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="comment">// here, we now have picked three points from the given set of</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="comment">// points that we can use</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="comment">// viz., P[i], P[j] and P[k]</span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> C.x = -0.5 * ((P[i].y * (P[j].x * P[j].x + P[j].y * P[j].y -</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> P[k].x * P[k].x - P[k].y * P[k].y) +</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> P[j].y * (P[k].x * P[k].x + P[k].y * P[k].y -</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> P[i].x * P[i].x - P[i].y * P[i].y) +</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> P[k].y * (P[i].x * P[i].x + P[i].y * P[i].y -</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> P[j].x * P[j].x - P[j].y * P[j].y)) /</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> (P[i].x * (P[j].y - P[k].y) +</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> P[j].x * (P[k].y - P[i].y) +</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> P[k].x * (P[i].y - P[j].y)));</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> C.<a class="code hl_variable" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a> = 0.5 * ((P[i].x * (P[j].x * P[j].x + P[j].y * P[j].y -</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> P[k].x * P[k].x - P[k].y * P[k].y) +</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> P[j].x * (P[k].x * P[k].x + P[k].y * P[k].y -</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> P[i].x * P[i].x - P[i].y * P[i].y) +</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> P[k].x * (P[i].x * P[i].x + P[i].y * P[i].y -</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> P[j].x * P[j].x - P[j].y * P[j].y)) /</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> (P[i].x * (P[j].y - P[k].y) +</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> P[j].x * (P[k].y - P[i].y) +</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> P[k].x * (P[i].y - P[j].y)));</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> R = (<a class="code hl_function" href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a>(P[i], P[j]) * <a class="code hl_function" href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a>(P[j], P[k]) *</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <a class="code hl_function" href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a>(P[k], P[i])) /</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> (4 * <a class="code hl_function" href="../../d0/d01/smallest__circle_8cpp.html#a94682a4a70d5906857ca09de5b9fb2cc">TriangleArea</a>(P[i], P[j], P[k]));</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="../../d0/d01/smallest__circle_8cpp.html#aee6d48762c1dfb9f14627927f0c16fad">PointInCircle</a>(P, C, R)) {</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> }</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">if</span> (R &lt;= minR) {</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> minR = R;</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> minC = C;</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> }</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> }</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="comment">// for each point in the list</span></div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; P.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() - 1; i++)</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="comment">// for every subsequent point in the list</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> j = i + 1; j &lt; P.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); j++) {</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="comment">// check for diameterically opposite points</span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> C.x = (P[i].x + P[j].x) / 2;</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> C.<a class="code hl_variable" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a> = (P[i].y + P[j].y) / 2;</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> R = <a class="code hl_function" href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a>(C, P[i]);</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="../../d0/d01/smallest__circle_8cpp.html#aee6d48762c1dfb9f14627927f0c16fad">PointInCircle</a>(P, C, R)) {</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">continue</span>;</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> <span class="keywordflow">if</span> (R &lt;= minR) {</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> minR = R;</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> minC = C;</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> }</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> }</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; minC.x &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; minC.<a class="code hl_variable" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a> &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="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">return</span> minR;</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</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="aendl_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div><div class="ttdeci">T endl(T... args)</div></div>
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/size.html">std::vector::size</a></div><div class="ttdeci">T size(T... args)</div></div>
@@ -243,7 +242,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a3cbebd6f4d2cdf227663c67fe41ba12a"></a>
<a id="a3cbebd6f4d2cdf227663c67fe41ba12a" name="a3cbebd6f4d2cdf227663c67fe41ba12a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3cbebd6f4d2cdf227663c67fe41ba12a">&#9670;&nbsp;</a></span>LenghtLine()</h2>
<div class="memitem">
@@ -268,7 +267,7 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Compute the Euclidian distance between two points \(A\equiv(x_1,y_1)\) and \(B\equiv(x_2,y_2)\) using the formula: </p><p class="formulaDsp">
<p >Compute the Euclidian distance between two points \(A\equiv(x_1,y_1)\) and \(B\equiv(x_2,y_2)\) using the formula: </p><p class="formulaDsp">
\[d=\sqrt{\left(x_1-x_2\right)^2+\left(y_1-y_2\right)^2}\]
</p>
<dl class="params"><dt>Parameters</dt><dd>
@@ -279,11 +278,11 @@ Here is the call graph for this function:</div>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ditance </dd></dl>
<div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; {</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordtype">double</span> dx = B.x - A.x;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordtype">double</span> dy = B.<a class="code" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a> - A.<a class="code" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a>;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordflow">return</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html">std::sqrt</a>((dx * dx) + (dy * dy));</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> {</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">double</span> dx = B.x - A.x;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">double</span> dy = B.<a class="code hl_variable" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a> - A.<a class="code hl_variable" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a>;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">return</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html">std::sqrt</a>((dx * dx) + (dy * dy));</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span>}</div>
<div class="ttc" id="asqrt_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html">std::sqrt</a></div><div class="ttdeci">T sqrt(T... args)</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
@@ -294,7 +293,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
@@ -309,15 +308,15 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Main program </p>
<div class="fragment"><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; {</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <a class="code" href="../../d0/d01/smallest__circle_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">test</a>();</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="../../d0/d01/smallest__circle_8cpp.html#a0283886819c7c140a023582b7269e2d0">test2</a>();</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="../../d0/d01/smallest__circle_8cpp.html#a6d0455dd5c30adda100e95f0423c786e">test3</a>();</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;}</div>
<p >Main program </p>
<div class="fragment"><div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> {</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <a class="code hl_function" href="../../d0/d01/smallest__circle_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">test</a>();</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &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="l00201" name="l00201"></a><span class="lineno"> 201</span> <a class="code hl_function" href="../../d0/d01/smallest__circle_8cpp.html#a0283886819c7c140a023582b7269e2d0">test2</a>();</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &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="l00203" name="l00203"></a><span class="lineno"> 203</span> <a class="code hl_function" href="../../d0/d01/smallest__circle_8cpp.html#a6d0455dd5c30adda100e95f0423c786e">test3</a>();</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span>}</div>
<div class="ttc" id="asmallest__circle_8cpp_html_a0283886819c7c140a023582b7269e2d0"><div class="ttname"><a href="../../d0/d01/smallest__circle_8cpp.html#a0283886819c7c140a023582b7269e2d0">test2</a></div><div class="ttdeci">void test2()</div><div class="ttdef"><b>Definition:</b> smallest_circle.cpp:173</div></div>
<div class="ttc" id="asmallest__circle_8cpp_html_a6d0455dd5c30adda100e95f0423c786e"><div class="ttname"><a href="../../d0/d01/smallest__circle_8cpp.html#a6d0455dd5c30adda100e95f0423c786e">test3</a></div><div class="ttdeci">void test3()</div><div class="ttdef"><b>Definition:</b> smallest_circle.cpp:188</div></div>
<div class="ttc" id="asmallest__circle_8cpp_html_ae1a3968e7947464bee7714f6d43b7002"><div class="ttname"><a href="../../d0/d01/smallest__circle_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">test</a></div><div class="ttdeci">void test()</div><div class="ttdef"><b>Definition:</b> smallest_circle.cpp:158</div></div>
@@ -330,7 +329,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="aee6d48762c1dfb9f14627927f0c16fad"></a>
<a id="aee6d48762c1dfb9f14627927f0c16fad" name="aee6d48762c1dfb9f14627927f0c16fad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee6d48762c1dfb9f14627927f0c16fad">&#9670;&nbsp;</a></span>PointInCircle()</h2>
<div class="memitem">
@@ -361,7 +360,7 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Check if a set of points lie within given circle. This is true if the distance of all the points from the centre of the circle is less than the radius of the circle </p><dl class="params"><dt>Parameters</dt><dd>
<p >Check if a set of points lie within given circle. This is true if the distance of all the points from the centre of the circle is less than the radius of the circle </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">P</td><td>set of points to check </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Center</td><td>coordinates to centre of the circle </td></tr>
@@ -372,13 +371,13 @@ Here is the call graph for this function:</div>
<dl class="section return"><dt>Returns</dt><dd>True if P lies on or within the circle </dd>
<dd>
False if P lies outside the circle </dd></dl>
<div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; P.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); i++) {</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a>(P[i], Center) &gt; R)</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> {</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; P.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); i++) {</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a>(P[i], Center) &gt; R)</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> }</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span>}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -388,7 +387,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="ae1a3968e7947464bee7714f6d43b7002"></a>
<a id="ae1a3968e7947464bee7714f6d43b7002" name="ae1a3968e7947464bee7714f6d43b7002"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1a3968e7947464bee7714f6d43b7002">&#9670;&nbsp;</a></span>test()</h2>
<div class="memitem">
@@ -402,19 +401,19 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Test case: result should be: <br />
<p >Test case: result should be: <br />
Circle with <br />
radius 3.318493136080724 <br />
centre at (3.0454545454545454, 1.3181818181818181) </p>
<div class="fragment"><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; {</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Point&gt;</a> Pv;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; Pv.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(0, 0));</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; Pv.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(5, 4));</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; Pv.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(1, 3));</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; Pv.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(4, 1));</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; Pv.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(3, -2));</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="code" href="../../d0/d01/smallest__circle_8cpp.html#a0b0676df8e4da7a08c7ccaecea344903">circle</a>(Pv) &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;}</div>
<div class="fragment"><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> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Point&gt;</a> Pv;</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> Pv.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code hl_typedef" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(0, 0));</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> Pv.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code hl_typedef" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(5, 4));</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> Pv.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code hl_typedef" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(1, 3));</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> Pv.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code hl_typedef" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(4, 1));</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> Pv.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code hl_typedef" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(3, -2));</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="code hl_function" href="../../d0/d01/smallest__circle_8cpp.html#a0b0676df8e4da7a08c7ccaecea344903">circle</a>(Pv) &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="l00166" name="l00166"></a><span class="lineno"> 166</span>}</div>
<div class="ttc" id="anamespaceciphers_1_1elliptic__curve__key__exchange_html_af0a6e3521629c25c2b5d620f26429830"><div class="ttname"><a href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">ciphers::elliptic_curve_key_exchange::Point</a></div><div class="ttdeci">struct ciphers::elliptic_curve_key_exchange::Point Point</div><div class="ttdoc">Definition of struct Point.</div></div>
<div class="ttc" id="apush_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">std::vector::push_back</a></div><div class="ttdeci">T push_back(T... args)</div></div>
<div class="ttc" id="asmallest__circle_8cpp_html_a0b0676df8e4da7a08c7ccaecea344903"><div class="ttname"><a href="../../d0/d01/smallest__circle_8cpp.html#a0b0676df8e4da7a08c7ccaecea344903">circle</a></div><div class="ttdeci">double circle(const std::vector&lt; Point &gt; &amp;P)</div><div class="ttdef"><b>Definition:</b> smallest_circle.cpp:87</div></div>
@@ -428,7 +427,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a0283886819c7c140a023582b7269e2d0"></a>
<a id="a0283886819c7c140a023582b7269e2d0" name="a0283886819c7c140a023582b7269e2d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0283886819c7c140a023582b7269e2d0">&#9670;&nbsp;</a></span>test2()</h2>
<div class="memitem">
@@ -442,18 +441,18 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Test case: result should be: <br />
<p >Test case: result should be: <br />
Circle with <br />
radius 1.4142135623730951 <br />
centre at (1.0, 1.0) </p>
<div class="fragment"><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Point&gt;</a> Pv;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; Pv.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(0, 0));</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; Pv.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(0, 2));</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; Pv.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(2, 2));</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; Pv.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(2, 0));</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="code" href="../../d0/d01/smallest__circle_8cpp.html#a0b0676df8e4da7a08c7ccaecea344903">circle</a>(Pv) &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;}</div>
<div class="fragment"><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> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Point&gt;</a> Pv;</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> Pv.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code hl_typedef" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(0, 0));</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> Pv.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code hl_typedef" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(0, 2));</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> Pv.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code hl_typedef" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(2, 2));</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> Pv.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code hl_typedef" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(2, 0));</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="code hl_function" href="../../d0/d01/smallest__circle_8cpp.html#a0b0676df8e4da7a08c7ccaecea344903">circle</a>(Pv) &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="l00180" name="l00180"></a><span class="lineno"> 180</span>}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -463,7 +462,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a6d0455dd5c30adda100e95f0423c786e"></a>
<a id="a6d0455dd5c30adda100e95f0423c786e" name="a6d0455dd5c30adda100e95f0423c786e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d0455dd5c30adda100e95f0423c786e">&#9670;&nbsp;</a></span>test3()</h2>
<div class="memitem">
@@ -477,18 +476,18 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Test case: result should be: <br />
<p >Test case: result should be: <br />
Circle with <br />
radius 1.821078397711709 <br />
centre at (2.142857142857143, 1.7857142857142856) </p><dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000010">Todo:</a></b></dt><dd>This test fails </dd></dl>
<div class="fragment"><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; {</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Point&gt;</a> Pv;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; Pv.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(0.5, 1));</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; Pv.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(3.5, 3));</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; Pv.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(2.5, 0));</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; Pv.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(2, 1.5));</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="code" href="../../d0/d01/smallest__circle_8cpp.html#a0b0676df8e4da7a08c7ccaecea344903">circle</a>(Pv) &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> {</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Point&gt;</a> Pv;</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> Pv.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code hl_typedef" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(0.5, 1));</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> Pv.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code hl_typedef" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(3.5, 3));</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> Pv.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code hl_typedef" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(2.5, 0));</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> Pv.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code hl_typedef" href="../../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830">Point</a>(2, 1.5));</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="code hl_function" href="../../d0/d01/smallest__circle_8cpp.html#a0b0676df8e4da7a08c7ccaecea344903">circle</a>(Pv) &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="l00195" name="l00195"></a><span class="lineno"> 195</span>}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -498,7 +497,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a94682a4a70d5906857ca09de5b9fb2cc"></a>
<a id="a94682a4a70d5906857ca09de5b9fb2cc" name="a94682a4a70d5906857ca09de5b9fb2cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94682a4a70d5906857ca09de5b9fb2cc">&#9670;&nbsp;</a></span>TriangleArea()</h2>
<div class="memitem">
@@ -529,7 +528,7 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Compute the area of triangle formed by three points using <a href="https://en.wikipedia.org/wiki/Heron%27s_formula">Heron's formula</a>. If the lengths of the sides of the triangle are \(a,\,b,\,c\) and \(s=\displaystyle\frac{a+b+c}{2}\) is the semi-perimeter then the area is given by </p><p class="formulaDsp">
<p >Compute the area of triangle formed by three points using <a href="https://en.wikipedia.org/wiki/Heron%27s_formula" target="_blank">Heron's formula</a>. If the lengths of the sides of the triangle are \(a,\,b,\,c\) and \(s=\displaystyle\frac{a+b+c}{2}\) is the semi-perimeter then the area is given by </p><p class="formulaDsp">
\[A=\sqrt{s(s-a)(s-b)(s-c)}\]
</p>
<dl class="params"><dt>Parameters</dt><dd>
@@ -541,13 +540,13 @@ Here is the call graph for this function:</div>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>area of triangle </dd></dl>
<div class="fragment"><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordtype">double</span> a = <a class="code" href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a>(A, B);</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordtype">double</span> b = <a class="code" href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a>(B, C);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordtype">double</span> c = <a class="code" href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a>(C, A);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordtype">double</span> p = (a + b + c) / 2;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">return</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html">std::sqrt</a>(p * (p - a) * (p - b) * (p - c));</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> {</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">double</span> a = <a class="code hl_function" href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a>(A, B);</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">double</span> b = <a class="code hl_function" href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a>(B, C);</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">double</span> c = <a class="code hl_function" href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a>(C, A);</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">double</span> p = (a + b + c) / 2;</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">return</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html">std::sqrt</a>(p * (p - a) * (p - b) * (p - c));</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span>}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -563,7 +562,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="../../dir_9510827d0b234b3cc54b29892f217477.html">others</a></li><li class="navelem"><a class="el" href="../../d0/d01/smallest__circle_8cpp.html">smallest_circle.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </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>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: test2 Pages: 1 -->
<!--zoomable 166 -->

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: test2 Pages: 1 -->
<svg width="518pt" height="166pt"

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: circle Pages: 1 -->
<svg width="367pt" height="163pt"

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: LenghtLine Pages: 1 -->
<svg width="162pt" height="28pt"

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: test3 Pages: 1 -->
<!--zoomable 166 -->

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: test3 Pages: 1 -->
<svg width="518pt" height="166pt"

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: TriangleArea Pages: 1 -->
<svg width="271pt" height="47pt"

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: test Pages: 1 -->
<!--zoomable 166 -->

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: test Pages: 1 -->
<svg width="513pt" height="166pt"

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<!--zoomable 244 -->

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<svg width="592pt" height="244pt"

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: PointInCircle Pages: 1 -->
<svg width="291pt" height="66pt"

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: numerical_methods/qr_decompose.h Pages: 1 -->
<svg width="457pt" height="95pt"

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: math/realtime_stats.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<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>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d0/d08/realtime__stats_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -94,8 +94,7 @@ $(document).ready(function(){initNavTree('d0/d08/realtime__stats_8cpp.html','../
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">realtime_stats.cpp File Reference</div> </div>
<div class="headertitle"><div class="title">realtime_stats.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
@@ -111,20 +110,20 @@ Include dependency graph for realtime_stats.cpp:</div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">statistics::stats_computer1&lt; T &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/dab/classstatistics_1_1stats__computer2.html">statistics::stats_computer2&lt; T &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d2/dcf/namespacestatistics"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/dcf/namespacestatistics.html">statistics</a></td></tr>
<tr class="memitem:d2/dcf/namespacestatistics"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/dcf/namespacestatistics.html">statistics</a></td></tr>
<tr class="memdesc:d2/dcf/namespacestatistics"><td class="mdescLeft">&#160;</td><td class="mdescRight">Statistical algorithms. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aa54c915581fcc495489175a4386d59fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d08/realtime__stats_8cpp.html#aa54c915581fcc495489175a4386d59fd">test_function</a> (const float *test_data, const int number_of_samples)</td></tr>
<tr class="separator:aa54c915581fcc495489175a4386d59fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -132,10 +131,10 @@ Functions</h2></td></tr>
<tr class="separator:a3c04138a5bfe5d72780bb7e82a18e627"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Compute statistics for data entered in rreal-time. </p>
<p>This algorithm is really beneficial to compute statistics on data read in realtime. For example, devices reading biometrics data. The algorithm is simple enough to be easily implemented in an embedded system. </p><dl class="section author"><dt>Author</dt><dd><a href="https://github.com/kvedala">Krishna Vedala</a> </dd></dl>
<div class="textblock"><p >Compute statistics for data entered in rreal-time. </p>
<p >This algorithm is really beneficial to compute statistics on data read in realtime. For example, devices reading biometrics data. The algorithm is simple enough to be easily implemented in an embedded system. </p><dl class="section author"><dt>Author</dt><dd><a href="https://github.com/kvedala" target="_blank">Krishna Vedala</a> </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a3c04138a5bfe5d72780bb7e82a18e627"></a>
<a id="a3c04138a5bfe5d72780bb7e82a18e627" name="a3c04138a5bfe5d72780bb7e82a18e627"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c04138a5bfe5d72780bb7e82a18e627">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
@@ -160,43 +159,43 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>Main function </p>
<div class="fragment"><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; {</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> test_data1[] = {3, 4, 5, -1.4, -3.6, 1.9, 1.};</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="code" href="../../d0/d08/realtime__stats_8cpp.html#aa54c915581fcc495489175a4386d59fd">test_function</a>(test_data1, <span class="keyword">sizeof</span>(test_data1) / <span class="keyword">sizeof</span>(test_data1[0]));</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; </div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Enter data. Any non-numeric data will terminate the data input.&quot;</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; </div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="code" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">stats_computer1&lt;float&gt;</a> stats1;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="code" href="../../d8/dab/classstatistics_1_1stats__computer2.html">stats_computer2&lt;float&gt;</a> stats2;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; </div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">while</span> (1) {</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordtype">double</span> val;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter number: &quot;</span>;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; val;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; </div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="comment">// check for failure to read input. Happens for</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="comment">// non-numeric data</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">if</span> (<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a>.fail())</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; </div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; stats1.<a class="code" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#aa13bf7c38de112f71921a5525d71a2f2">new_val</a>(val);</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; stats2.<a class="code" href="../../d8/dab/classstatistics_1_1stats__computer2.html#ade6de704deea24fdc88077b3d9a0d534">new_val</a>(val);</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; </div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;\tMethod 1:&quot;</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\tMean: &quot;</span> &lt;&lt; stats1.<a class="code" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b">mean</a>()</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\t Variance: &quot;</span> &lt;&lt; stats1.<a class="code" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#a27f0a03e2fd2254f1c81fe668226bd92">variance</a>()</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\t Std: &quot;</span> &lt;&lt; stats1.<a class="code" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#af57e942d49f4fd70f059f224b4ac07e1">std</a>() &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;\tMethod 2:&quot;</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\tMean: &quot;</span> &lt;&lt; stats2.<a class="code" href="../../d8/dab/classstatistics_1_1stats__computer2.html#a8290966ad468f2a8c266d008bc60720e">mean</a>()</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\t Variance: &quot;</span> &lt;&lt; stats2.<a class="code" href="../../d8/dab/classstatistics_1_1stats__computer2.html#af6198817084276113b3c064e87ce0555">variance</a>()</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\t Std: &quot;</span> &lt;&lt; stats2.<a class="code" href="../../d8/dab/classstatistics_1_1stats__computer2.html#acf2e84df4fc386bb3295016ef8fd156e">std</a>() &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;}</div>
<p >Main function </p>
<div class="fragment"><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="keyword">const</span> <span class="keywordtype">float</span> test_data1[] = {3, 4, 5, -1.4, -3.6, 1.9, 1.};</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <a class="code hl_function" href="../../d0/d08/realtime__stats_8cpp.html#aa54c915581fcc495489175a4386d59fd">test_function</a>(test_data1, <span class="keyword">sizeof</span>(test_data1) / <span class="keyword">sizeof</span>(test_data1[0]));</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> </div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> &lt;&lt; <span class="stringliteral">&quot;Enter data. Any non-numeric data will terminate the data input.&quot;</span></div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</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="l00165" name="l00165"></a><span class="lineno"> 165</span> </div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <a class="code hl_class" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">stats_computer1&lt;float&gt;</a> stats1;</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <a class="code hl_class" href="../../d8/dab/classstatistics_1_1stats__computer2.html">stats_computer2&lt;float&gt;</a> stats2;</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> </div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">while</span> (1) {</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keywordtype">double</span> val;</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</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;Enter number: &quot;</span>;</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; val;</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">// check for failure to read input. Happens for</span></div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="comment">// non-numeric data</span></div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">if</span> (<a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a>.fail())</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> </div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> stats1.<a class="code hl_function" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#aa13bf7c38de112f71921a5525d71a2f2">new_val</a>(val);</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> stats2.<a class="code hl_function" href="../../d8/dab/classstatistics_1_1stats__computer2.html#ade6de704deea24fdc88077b3d9a0d534">new_val</a>(val);</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</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;\tMethod 1:&quot;</span></div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> &lt;&lt; <span class="stringliteral">&quot;\tMean: &quot;</span> &lt;&lt; stats1.<a class="code hl_function" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b">mean</a>()</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> &lt;&lt; <span class="stringliteral">&quot;\t Variance: &quot;</span> &lt;&lt; stats1.<a class="code hl_function" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#a27f0a03e2fd2254f1c81fe668226bd92">variance</a>()</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> &lt;&lt; <span class="stringliteral">&quot;\t Std: &quot;</span> &lt;&lt; stats1.<a class="code hl_function" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#af57e942d49f4fd70f059f224b4ac07e1">std</a>() &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="l00186" name="l00186"></a><span class="lineno"> 186</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;\tMethod 2:&quot;</span></div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> &lt;&lt; <span class="stringliteral">&quot;\tMean: &quot;</span> &lt;&lt; stats2.<a class="code hl_function" href="../../d8/dab/classstatistics_1_1stats__computer2.html#a8290966ad468f2a8c266d008bc60720e">mean</a>()</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> &lt;&lt; <span class="stringliteral">&quot;\t Variance: &quot;</span> &lt;&lt; stats2.<a class="code hl_function" href="../../d8/dab/classstatistics_1_1stats__computer2.html#af6198817084276113b3c064e87ce0555">variance</a>()</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> &lt;&lt; <span class="stringliteral">&quot;\t Std: &quot;</span> &lt;&lt; stats2.<a class="code hl_function" href="../../d8/dab/classstatistics_1_1stats__computer2.html#acf2e84df4fc386bb3295016ef8fd156e">std</a>() &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="l00190" name="l00190"></a><span class="lineno"> 190</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> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span>}</div>
<div class="ttc" id="abasic_istream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a></div></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="aclassstatistics_1_1stats__computer1_html"><div class="ttname"><a href="../../d7/d7c/classstatistics_1_1stats__computer1.html">statistics::stats_computer1</a></div><div class="ttdef"><b>Definition:</b> realtime_stats.cpp:27</div></div>
@@ -220,7 +219,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="aa54c915581fcc495489175a4386d59fd"></a>
<a id="aa54c915581fcc495489175a4386d59fd" name="aa54c915581fcc495489175a4386d59fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa54c915581fcc495489175a4386d59fd">&#9670;&nbsp;</a></span>test_function()</h2>
<div class="memitem">
@@ -245,50 +244,50 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Test the algorithm implementation </p><dl class="params"><dt>Parameters</dt><dd>
<p >Test the algorithm implementation </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">test_data</td><td>array of data to test the algorithms </td></tr>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordtype">float</span> mean = 0.f, variance = 0.f;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; </div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">stats_computer1&lt;float&gt;</a> stats01;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="../../d8/dab/classstatistics_1_1stats__computer2.html">stats_computer2&lt;float&gt;</a> stats02;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; </div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; number_of_samples; i++) {</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; stats01.<a class="code" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#aa13bf7c38de112f71921a5525d71a2f2">new_val</a>(test_data[i]);</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; stats02.<a class="code" href="../../d8/dab/classstatistics_1_1stats__computer2.html#ade6de704deea24fdc88077b3d9a0d534">new_val</a>(test_data[i]);</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; mean += test_data[i];</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; </div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; mean /= number_of_samples;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; number_of_samples; i++) {</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordtype">float</span> temp = test_data[i] - mean;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; variance += temp * temp;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; variance /= number_of_samples;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; </div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; Test Function &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Expected: Mean: &quot;</span> &lt;&lt; mean &lt;&lt; <span class="stringliteral">&quot;\t Variance: &quot;</span> &lt;&lt; variance</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;\tMethod 1:&quot;</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\tMean: &quot;</span> &lt;&lt; stats01.<a class="code" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b">mean</a>()</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\t Variance: &quot;</span> &lt;&lt; stats01.<a class="code" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#a27f0a03e2fd2254f1c81fe668226bd92">variance</a>()</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\t Std: &quot;</span> &lt;&lt; stats01.<a class="code" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#af57e942d49f4fd70f059f224b4ac07e1">std</a>() &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;\tMethod 2:&quot;</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\tMean: &quot;</span> &lt;&lt; stats02.<a class="code" href="../../d8/dab/classstatistics_1_1stats__computer2.html#a8290966ad468f2a8c266d008bc60720e">mean</a>()</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\t Variance: &quot;</span> &lt;&lt; stats02.<a class="code" href="../../d8/dab/classstatistics_1_1stats__computer2.html#af6198817084276113b3c064e87ce0555">variance</a>()</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\t Std: &quot;</span> &lt;&lt; stats02.<a class="code" href="../../d8/dab/classstatistics_1_1stats__computer2.html#acf2e84df4fc386bb3295016ef8fd156e">std</a>() &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; assert(std::abs(stats01.<a class="code" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b">mean</a>() - mean) &lt; 0.01);</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; assert(std::abs(stats02.<a class="code" href="../../d8/dab/classstatistics_1_1stats__computer2.html#a8290966ad468f2a8c266d008bc60720e">mean</a>() - mean) &lt; 0.01);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; assert(std::abs(stats02.<a class="code" href="../../d8/dab/classstatistics_1_1stats__computer2.html#af6198817084276113b3c064e87ce0555">variance</a>() - variance) &lt; 0.01);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; </div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;(Tests passed)&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> {</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">float</span> mean = 0.f, variance = 0.f;</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <a class="code hl_class" href="../../d7/d7c/classstatistics_1_1stats__computer1.html">stats_computer1&lt;float&gt;</a> stats01;</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <a class="code hl_class" href="../../d8/dab/classstatistics_1_1stats__computer2.html">stats_computer2&lt;float&gt;</a> stats02;</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; number_of_samples; i++) {</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> stats01.<a class="code hl_function" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#aa13bf7c38de112f71921a5525d71a2f2">new_val</a>(test_data[i]);</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> stats02.<a class="code hl_function" href="../../d8/dab/classstatistics_1_1stats__computer2.html#ade6de704deea24fdc88077b3d9a0d534">new_val</a>(test_data[i]);</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> mean += test_data[i];</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> }</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> mean /= number_of_samples;</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; number_of_samples; i++) {</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">float</span> temp = test_data[i] - mean;</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> variance += temp * temp;</div>
<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> variance /= number_of_samples;</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <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;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; Test Function &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&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="l00139" name="l00139"></a><span class="lineno"> 139</span> &lt;&lt; <span class="stringliteral">&quot;Expected: Mean: &quot;</span> &lt;&lt; mean &lt;&lt; <span class="stringliteral">&quot;\t Variance: &quot;</span> &lt;&lt; variance</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</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="l00141" name="l00141"></a><span class="lineno"> 141</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;\tMethod 1:&quot;</span></div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> &lt;&lt; <span class="stringliteral">&quot;\tMean: &quot;</span> &lt;&lt; stats01.<a class="code hl_function" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b">mean</a>()</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> &lt;&lt; <span class="stringliteral">&quot;\t Variance: &quot;</span> &lt;&lt; stats01.<a class="code hl_function" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#a27f0a03e2fd2254f1c81fe668226bd92">variance</a>()</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> &lt;&lt; <span class="stringliteral">&quot;\t Std: &quot;</span> &lt;&lt; stats01.<a class="code hl_function" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#af57e942d49f4fd70f059f224b4ac07e1">std</a>() &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="l00145" name="l00145"></a><span class="lineno"> 145</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;\tMethod 2:&quot;</span></div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> &lt;&lt; <span class="stringliteral">&quot;\tMean: &quot;</span> &lt;&lt; stats02.<a class="code hl_function" href="../../d8/dab/classstatistics_1_1stats__computer2.html#a8290966ad468f2a8c266d008bc60720e">mean</a>()</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> &lt;&lt; <span class="stringliteral">&quot;\t Variance: &quot;</span> &lt;&lt; stats02.<a class="code hl_function" href="../../d8/dab/classstatistics_1_1stats__computer2.html#af6198817084276113b3c064e87ce0555">variance</a>()</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> &lt;&lt; <span class="stringliteral">&quot;\t Std: &quot;</span> &lt;&lt; stats02.<a class="code hl_function" href="../../d8/dab/classstatistics_1_1stats__computer2.html#acf2e84df4fc386bb3295016ef8fd156e">std</a>() &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="l00149" name="l00149"></a><span class="lineno"> 149</span> </div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> assert(std::abs(stats01.<a class="code hl_function" href="../../d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b">mean</a>() - mean) &lt; 0.01);</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> assert(std::abs(stats02.<a class="code hl_function" href="../../d8/dab/classstatistics_1_1stats__computer2.html#a8290966ad468f2a8c266d008bc60720e">mean</a>() - mean) &lt; 0.01);</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> assert(std::abs(stats02.<a class="code hl_function" href="../../d8/dab/classstatistics_1_1stats__computer2.html#af6198817084276113b3c064e87ce0555">variance</a>() - variance) &lt; 0.01);</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> </div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</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;(Tests passed)&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="l00155" name="l00155"></a><span class="lineno"> 155</span>}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -304,7 +303,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="../../dir_296d53ceaeaa7e099814a6def439fe8a.html">math</a></li><li class="navelem"><a class="el" href="../../d0/d08/realtime__stats_8cpp.html">realtime_stats.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </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>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
var realtime__stats_8cpp =
[
[ "stats_computer1", "d7/d7c/classstatistics_1_1stats__computer1.html", "d7/d7c/classstatistics_1_1stats__computer1" ],
[ "stats_computer2", "d8/dab/classstatistics_1_1stats__computer2.html", "d8/dab/classstatistics_1_1stats__computer2" ],
[ "statistics::stats_computer1< T >", "d7/d7c/classstatistics_1_1stats__computer1.html", "d7/d7c/classstatistics_1_1stats__computer1" ],
[ "statistics::stats_computer2< T >", "d8/dab/classstatistics_1_1stats__computer2.html", "d8/dab/classstatistics_1_1stats__computer2" ],
[ "main", "d0/d08/realtime__stats_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627", null ],
[ "test_function", "d0/d08/realtime__stats_8cpp.html#aa54c915581fcc495489175a4386d59fd", null ]
];

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<!--zoomable 441 -->

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<svg width="514pt" height="441pt"

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: test_function Pages: 1 -->
<svg width="440pt" height="377pt"

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<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>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d1/d77/structmst.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,22 +90,21 @@ $(document).ready(function(){initNavTree('d1/d77/structmst.html','../../'); init
</div>
<div class="header">
<div class="headertitle">
<div class="title">mst Member List</div> </div>
<div class="headertitle"><div class="title">mst Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d1/d77/structmst.html">mst</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>key</b> (defined in <a class="el" href="../../d1/d77/structmst.html">mst</a>)</td><td class="entry"><a class="el" href="../../d1/d77/structmst.html">mst</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>near</b> (defined in <a class="el" href="../../d1/d77/structmst.html">mst</a>)</td><td class="entry"><a class="el" href="../../d1/d77/structmst.html">mst</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>near</b> (defined in <a class="el" href="../../d1/d77/structmst.html">mst</a>)</td><td class="entry"><a class="el" href="../../d1/d77/structmst.html">mst</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>visited</b> (defined in <a class="el" href="../../d1/d77/structmst.html">mst</a>)</td><td class="entry"><a class="el" href="../../d1/d77/structmst.html">mst</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </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>
</ul>
</div>
</body>

View File

@@ -1,3 +1,4 @@
<map id="node&lt; Kind &gt;" name="node&lt; Kind &gt;">
<area shape="rect" id="node1" title=" " alt="" coords="5,36,107,63"/>
<area shape="rect" id="node1" title=" " alt="" coords="5,229,107,256"/>
<area shape="rect" id="node2" href="$d5/da1/structnode.html" title=" " alt="" coords="5,36,107,63"/>
</map>

View File

@@ -1 +1 @@
f6a4569b959d550a9a80e5d43cc05a9a
b47e95560f5cdce3c44b6e2747eb7274

View File

@@ -1,34 +1,55 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: node&lt; Kind &gt; Pages: 1 -->
<svg width="131pt" height="74pt"
viewBox="0.00 0.00 131.00 74.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 70)">
<svg width="131pt" height="196pt"
viewBox="0.00 0.00 131.00 196.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 192)">
<title>node&lt; Kind &gt;</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-70 127,-70 127,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-192 127,-192 127,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title=" ">
<polygon fill="#bfbfbf" stroke="black" points="0,-23.5 0,-42.5 76,-42.5 76,-23.5 0,-23.5"/>
<text text-anchor="middle" x="38" y="-30.5" font-family="Helvetica,sans-Serif" font-size="10.00">node&lt; Kind &gt;</text>
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-19.5 76,-19.5 76,-0.5 0,-0.5"/>
<text text-anchor="middle" x="38" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">node&lt; Kind &gt;</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d5/da1/structnode.html" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="0,-145.5 0,-164.5 76,-164.5 76,-145.5 0,-145.5"/>
<text text-anchor="middle" x="38" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00">node&lt; Kind &gt;</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node1</title>
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M86.29,-36.04C91.01,-35.43 94,-34.42 94,-33 94,-30.73 86.33,-29.5 76.21,-29.28"/>
<polygon fill="#9a32cd" stroke="#9a32cd" points="85.96,-32.56 76.21,-36.72 86.42,-39.54 85.96,-32.56"/>
<text text-anchor="middle" x="108.5" y="-58" font-family="Helvetica,sans-Serif" font-size="10.00"> left</text>
<text text-anchor="middle" x="108.5" y="-47" font-family="Helvetica,sans-Serif" font-size="10.00">link</text>
<text text-anchor="middle" x="108.5" y="-36" font-family="Helvetica,sans-Serif" font-size="10.00">next</text>
<text text-anchor="middle" x="108.5" y="-25" font-family="Helvetica,sans-Serif" font-size="10.00">parent</text>
<text text-anchor="middle" x="108.5" y="-14" font-family="Helvetica,sans-Serif" font-size="10.00">prev</text>
<text text-anchor="middle" x="108.5" y="-3" font-family="Helvetica,sans-Serif" font-size="10.00">right</text>
<title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M38,-135.1C38,-103.77 38,-42.31 38,-19.65"/>
<polygon fill="#9a32cd" stroke="#9a32cd" points="34.5,-135.48 38,-145.48 41.5,-135.48 34.5,-135.48"/>
<text text-anchor="middle" x="52.5" y="-96" font-family="Helvetica,sans-Serif" font-size="10.00"> left</text>
<text text-anchor="middle" x="52.5" y="-85" font-family="Helvetica,sans-Serif" font-size="10.00">link</text>
<text text-anchor="middle" x="52.5" y="-74" font-family="Helvetica,sans-Serif" font-size="10.00">next</text>
<text text-anchor="middle" x="52.5" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">parent</text>
<text text-anchor="middle" x="52.5" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00">prev</text>
<text text-anchor="middle" x="52.5" y="-41" font-family="Helvetica,sans-Serif" font-size="10.00">right</text>
</g>
<!-- Node2&#45;&gt;Node2 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node2</title>
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M59.41,-168.58C76.45,-173.92 94,-169.4 94,-155 94,-137.94 69.35,-134.74 50.1,-145.4"/>
<polygon fill="#9a32cd" stroke="#9a32cd" points="60.67,-165.32 50.1,-164.6 57.92,-171.75 60.67,-165.32"/>
<text text-anchor="middle" x="108.5" y="-180" font-family="Helvetica,sans-Serif" font-size="10.00"> left</text>
<text text-anchor="middle" x="108.5" y="-169" font-family="Helvetica,sans-Serif" font-size="10.00">link</text>
<text text-anchor="middle" x="108.5" y="-158" font-family="Helvetica,sans-Serif" font-size="10.00">next</text>
<text text-anchor="middle" x="108.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00">parent</text>
<text text-anchor="middle" x="108.5" y="-136" font-family="Helvetica,sans-Serif" font-size="10.00">prev</text>
<text text-anchor="middle" x="108.5" y="-125" font-family="Helvetica,sans-Serif" font-size="10.00">right</text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -1,8 +1,4 @@
<map id="graph::RootedTree" name="graph::RootedTree">
<area shape="rect" id="node1" title=" " alt="" coords="5,289,139,316"/>
<area shape="rect" id="node2" href="$dc/d61/classgraph_1_1_graph.html" title=" " alt="" coords="85,213,216,240"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector.html" title=" " alt="" coords="73,95,229,136"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector.html" title=" " alt="" coords="15,5,135,32"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/map.html" title=" " alt="" coords="253,95,393,136"/>
<area shape="rect" id="node6" title=" " alt="" coords="303,5,342,32"/>
<area shape="rect" id="node1" title=" " alt="" coords="5,80,139,107"/>
<area shape="rect" id="node2" href="$dc/d61/classgraph_1_1_graph.html" title=" " alt="" coords="7,5,137,32"/>
</map>

View File

@@ -1 +1 @@
47627de4d082c3cad65ec7919eba8e88
c3f0587b7ce635ad22cbbaae6da2b585

View File

@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: graph::RootedTree Pages: 1 -->
<svg width="299pt" height="241pt"
viewBox="0.00 0.00 298.50 241.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 237)">
<svg width="108pt" height="84pt"
viewBox="0.00 0.00 108.00 84.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 80)">
<title>graph::RootedTree</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-237 294.5,-237 294.5,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-80 104,-80 104,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
@@ -22,90 +22,16 @@
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../dc/d61/classgraph_1_1_graph.html" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="60,-57.5 60,-76.5 158,-76.5 158,-57.5 60,-57.5"/>
<text text-anchor="middle" x="109" y="-64.5" font-family="Helvetica,sans-Serif" font-size="10.00">graph::Graph&lt; T &gt;</text>
<polygon fill="white" stroke="black" points="1,-56.5 1,-75.5 99,-75.5 99,-56.5 1,-56.5"/>
<text text-anchor="middle" x="50" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">graph::Graph&lt; T &gt;</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge">
<title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M92.28,-50.42C81.61,-40.47 68.18,-27.94 59.35,-19.71"/>
<polygon fill="midnightblue" stroke="midnightblue" points="90.08,-53.15 99.78,-57.41 94.85,-48.03 90.08,-53.15"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector.html" xlink:title=" ">
<polygon fill="white" stroke="black" points="50.5,-135.5 50.5,-165.5 167.5,-165.5 167.5,-135.5 50.5,-135.5"/>
<text text-anchor="start" x="58.5" y="-153.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector&lt; std::vector</text>
<text text-anchor="middle" x="109" y="-142.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; int &gt; &gt;</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node2 -->
<g id="edge2" class="edge">
<title>Node3&#45;&gt;Node2</title>
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M109,-125.25C109,-108.78 109,-87.99 109,-76.54"/>
<polygon fill="#9a32cd" stroke="#9a32cd" points="105.5,-125.3 109,-135.3 112.5,-125.3 105.5,-125.3"/>
<text text-anchor="middle" x="132.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00"> neighbors</text>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector.html" xlink:title=" ">
<polygon fill="white" stroke="black" points="7,-213.5 7,-232.5 97,-232.5 97,-213.5 7,-213.5"/>
<text text-anchor="middle" x="52" y="-220.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector&lt; int &gt;</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node1 -->
<g id="edge6" class="edge">
<title>Node4&#45;&gt;Node1</title>
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M47.4,-203.38C44.96,-192.55 42.22,-178.59 41,-166 35.6,-110.47 44.82,-43.4 48.54,-19.76"/>
<polygon fill="#9a32cd" stroke="#9a32cd" points="44.05,-204.42 49.76,-213.35 50.86,-202.81 44.05,-204.42"/>
<text text-anchor="middle" x="55.5" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00"> level</text>
<text text-anchor="middle" x="55.5" y="-98" font-family="Helvetica,sans-Serif" font-size="10.00">parent</text>
</g>
<!-- Node4&#45;&gt;Node3 -->
<g id="edge3" class="edge">
<title>Node4&#45;&gt;Node3</title>
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M65.43,-205.39C75.22,-193.28 88.34,-177.05 97.62,-165.58"/>
<polygon fill="#9a32cd" stroke="#9a32cd" points="62.55,-203.38 58.99,-213.36 68,-207.78 62.55,-203.38"/>
<text text-anchor="middle" x="105" y="-187" font-family="Helvetica,sans-Serif" font-size="10.00"> elements</text>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/map.html" xlink:title=" ">
<polygon fill="white" stroke="black" points="185.5,-135.5 185.5,-165.5 290.5,-165.5 290.5,-135.5 185.5,-135.5"/>
<text text-anchor="start" x="193.5" y="-153.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::map&lt; T, std::list</text>
<text text-anchor="middle" x="238" y="-142.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; T &gt; &gt;</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node2 -->
<g id="edge4" class="edge">
<title>Node5&#45;&gt;Node2</title>
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M211.01,-129.42C196.24,-118.74 177.44,-105.65 160,-95 149.23,-88.42 136.7,-81.78 126.76,-76.73"/>
<polygon fill="#9a32cd" stroke="#9a32cd" points="209.06,-132.33 219.21,-135.39 213.19,-126.67 209.06,-132.33"/>
<text text-anchor="middle" x="226" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00"> adjacency_list</text>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="223.5,-213.5 223.5,-232.5 252.5,-232.5 252.5,-213.5 223.5,-213.5"/>
<text text-anchor="middle" x="238" y="-220.5" font-family="Helvetica,sans-Serif" font-size="10.00">T</text>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node5 -->
<g id="edge5" class="edge">
<title>Node6&#45;&gt;Node5</title>
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M238,-203.24C238,-191.41 238,-176.38 238,-165.58"/>
<polygon fill="#9a32cd" stroke="#9a32cd" points="234.5,-203.36 238,-213.36 241.5,-203.36 234.5,-203.36"/>
<text text-anchor="middle" x="250" y="-187" font-family="Helvetica,sans-Serif" font-size="10.00"> keys</text>
<path fill="none" stroke="midnightblue" d="M50,-45.8C50,-36.91 50,-26.78 50,-19.75"/>
<polygon fill="midnightblue" stroke="midnightblue" points="46.5,-46.08 50,-56.08 53.5,-46.08 46.5,-46.08"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: RBtree Pages: 1 -->
<svg width="131pt" height="152pt"

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: range_queries::heavy_light_decomposition::HLD&lt; X &gt; Pages: 1 -->
<svg width="270pt" height="110pt"

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: divide_and_conquer/karatsuba_algorithm_for_fast_multiplication.cpp Pages: 1 -->
<svg width="258pt" height="106pt"

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: neural_network Namespace Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<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>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d0/d2e/namespaceneural__network.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,22 +90,21 @@ $(document).ready(function(){initNavTree('d0/d2e/namespaceneural__network.html',
</div>
<div class="header">
<div class="headertitle">
<div class="title">neural_network Namespace Reference</div> </div>
<div class="headertitle"><div class="title">neural_network Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Neural Network or Multilayer Perceptron.
<a href="../../d0/d2e/namespaceneural__network.html#details">More...</a></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Neural Network or Multilayer Perceptron. </p>
<div class="textblock"><p >Neural Network or Multilayer Perceptron. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d0/d2e/namespaceneural__network.html">neural_network</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.1 </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>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: data_structures::trie Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<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>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d0/d3e/classdata__structures_1_1trie.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -96,18 +96,17 @@ $(document).ready(function(){initNavTree('d0/d3e/classdata__structures_1_1trie.h
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#pri-static-attribs">Static Private Attributes</a> &#124;
<a href="../../d1/d90/classdata__structures_1_1trie-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">data_structures::trie Class Reference</div> </div>
<div class="headertitle"><div class="title">data_structures::trie Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p><a href="https://en.wikipedia.org/wiki/Trie">Trie</a> implementation for small-case English alphabets <code>a-z</code>
<p><a href="https://en.wikipedia.org/wiki/Trie" target="_blank">Trie</a> implementation for small-case English alphabets <code>a-z</code>
<a href="../../d0/d3e/classdata__structures_1_1trie.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a87d8bf99aea936f9381141753f1e90a8"><td class="memItemLeft" align="right" valign="top"><a id="a87d8bf99aea936f9381141753f1e90a8"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8">trie</a> ()=default</td></tr>
<tr class="memitem:a87d8bf99aea936f9381141753f1e90a8"><td class="memItemLeft" align="right" valign="top"><a id="a87d8bf99aea936f9381141753f1e90a8" name="a87d8bf99aea936f9381141753f1e90a8"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>trie</b> ()=default</td></tr>
<tr class="memdesc:a87d8bf99aea936f9381141753f1e90a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class default constructor. <br /></td></tr>
<tr class="separator:a87d8bf99aea936f9381141753f1e90a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ab94bc6417e3f59fab33cea5b64d546"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d3e/classdata__structures_1_1trie.html#a0ab94bc6417e3f59fab33cea5b64d546">insert</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &amp;str)</td></tr>
@@ -117,7 +116,7 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:aeac27cfd397d2dd3f2f519efffafeeab"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d3e/classdata__structures_1_1trie.html#aeac27cfd397d2dd3f2f519efffafeeab">deleteString</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &amp;str, int index)</td></tr>
<tr class="separator:aeac27cfd397d2dd3f2f519efffafeeab"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:aab373beb3f618b90922528c68797d988"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988">char_to_int</a> (const char &amp;ch) const</td></tr>
<tr class="memdesc:aab373beb3f618b90922528c68797d988"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a character to integer for indexing. <a href="../../d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988">More...</a><br /></td></tr>
@@ -125,28 +124,28 @@ Private Member Functions</h2></td></tr>
<tr class="memitem:a961eb5d576d2420f2036009154397c63"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63">search</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d0/d3e/classdata__structures_1_1trie.html">trie</a> &gt; &amp;root, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &amp;str, int index)</td></tr>
<tr class="separator:a961eb5d576d2420f2036009154397c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a362dd78748a1f01ab019e55fd6098a8b"><td class="memItemLeft" align="right" valign="top"><a id="a362dd78748a1f01ab019e55fd6098a8b"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d0/d3e/classdata__structures_1_1trie.html">trie</a> &gt;, <a class="el" href="../../d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191">NUM_CHARS</a>&lt;&lt; 1 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a></td></tr>
<tr class="memitem:a362dd78748a1f01ab019e55fd6098a8b"><td class="memItemLeft" align="right" valign="top"><a id="a362dd78748a1f01ab019e55fd6098a8b" name="a362dd78748a1f01ab019e55fd6098a8b"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d0/d3e/classdata__structures_1_1trie.html">trie</a> &gt;, <a class="el" href="../../d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191">NUM_CHARS</a>&lt;&lt; 1 &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>arr</b></td></tr>
<tr class="memdesc:a362dd78748a1f01ab019e55fd6098a8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursive tree nodes as an array of shared-pointers. <br /></td></tr>
<tr class="separator:a362dd78748a1f01ab019e55fd6098a8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cb0f775b5a4bc14a6d39b5c93883eb6"><td class="memItemLeft" align="right" valign="top"><a id="a4cb0f775b5a4bc14a6d39b5c93883eb6"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6">isEndofWord</a> = false</td></tr>
<tr class="memitem:a4cb0f775b5a4bc14a6d39b5c93883eb6"><td class="memItemLeft" align="right" valign="top"><a id="a4cb0f775b5a4bc14a6d39b5c93883eb6" name="a4cb0f775b5a4bc14a6d39b5c93883eb6"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>isEndofWord</b> = false</td></tr>
<tr class="memdesc:a4cb0f775b5a4bc14a6d39b5c93883eb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">identifier if a node is terminal node <br /></td></tr>
<tr class="separator:a4cb0f775b5a4bc14a6d39b5c93883eb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-attribs"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-attribs" name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr class="memitem:a4bfac4be6ed1a34c7159eddb42469191"><td class="memItemLeft" align="right" valign="top"><a id="a4bfac4be6ed1a34c7159eddb42469191"></a>
static constexpr uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191">NUM_CHARS</a> = 26</td></tr>
<tr class="memitem:a4bfac4be6ed1a34c7159eddb42469191"><td class="memItemLeft" align="right" valign="top"><a id="a4bfac4be6ed1a34c7159eddb42469191" name="a4bfac4be6ed1a34c7159eddb42469191"></a>
static constexpr uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>NUM_CHARS</b> = 26</td></tr>
<tr class="memdesc:a4bfac4be6ed1a34c7159eddb42469191"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of alphabets. <br /></td></tr>
<tr class="separator:a4bfac4be6ed1a34c7159eddb42469191"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a href="https://en.wikipedia.org/wiki/Trie">Trie</a> implementation for small-case English alphabets <code>a-z</code> </p>
<div class="textblock"><p ><a href="https://en.wikipedia.org/wiki/Trie" target="_blank">Trie</a> implementation for small-case English alphabets <code>a-z</code> </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="aab373beb3f618b90922528c68797d988"></a>
<a id="aab373beb3f618b90922528c68797d988" name="aab373beb3f618b90922528c68797d988"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab373beb3f618b90922528c68797d988">&#9670;&nbsp;</a></span>char_to_int()</h2>
<div class="memitem">
@@ -178,17 +177,17 @@ static constexpr uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a c
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>unsigned integer index </dd></dl>
<div class="fragment"><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; {</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">if</span> (ch &gt;= <span class="charliteral">&#39;A&#39;</span> &amp;&amp; ch &lt;= <span class="charliteral">&#39;Z&#39;</span>) {</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordflow">return</span> ch - <span class="charliteral">&#39;A&#39;</span>;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ch &gt;= <span class="charliteral">&#39;a&#39;</span> &amp;&amp; ch &lt;= <span class="charliteral">&#39;z&#39;</span>) {</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">return</span> ch - <span class="charliteral">&#39;a&#39;</span> + <a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191">NUM_CHARS</a>;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; }</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;Invalid character present. Exiting...&quot;</span>;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/program/exit.html">std::exit</a>(EXIT_FAILURE);</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; }</div>
<div class="fragment"><div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> {</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keywordflow">if</span> (ch &gt;= <span class="charliteral">&#39;A&#39;</span> &amp;&amp; ch &lt;= <span class="charliteral">&#39;Z&#39;</span>) {</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">return</span> ch - <span class="charliteral">&#39;A&#39;</span>;</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ch &gt;= <span class="charliteral">&#39;a&#39;</span> &amp;&amp; ch &lt;= <span class="charliteral">&#39;z&#39;</span>) {</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">return</span> ch - <span class="charliteral">&#39;a&#39;</span> + <a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191">NUM_CHARS</a>;</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> }</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;Invalid character present. Exiting...&quot;</span>;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/program/exit.html">std::exit</a>(EXIT_FAILURE);</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> }</div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a></div></div>
<div class="ttc" id="aclassdata__structures_1_1trie_html_a4bfac4be6ed1a34c7159eddb42469191"><div class="ttname"><a href="../../d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191">data_structures::trie::NUM_CHARS</a></div><div class="ttdeci">static constexpr uint8_t NUM_CHARS</div><div class="ttdoc">Number of alphabets.</div><div class="ttdef"><b>Definition:</b> trie_tree.cpp:27</div></div>
<div class="ttc" id="aexit_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/program/exit.html">std::exit</a></div><div class="ttdeci">T exit(T... args)</div></div>
@@ -201,7 +200,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="aeac27cfd397d2dd3f2f519efffafeeab"></a>
<a id="aeac27cfd397d2dd3f2f519efffafeeab" name="aeac27cfd397d2dd3f2f519efffafeeab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeac27cfd397d2dd3f2f519efffafeeab">&#9670;&nbsp;</a></span>deleteString()</h2>
<div class="memitem">
@@ -234,7 +233,7 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>removes the string if it is not a prefix of any other string, if it is then just sets the ::data_structure::trie::isEndofWord to false, else removes the given string </p><dl class="section note"><dt>Note</dt><dd>the function ::data_structure::trie::deleteString might be erroneous </dd></dl>
<p >removes the string if it is not a prefix of any other string, if it is then just sets the ::data_structure::trie::isEndofWord to false, else removes the given string </p><dl class="section note"><dt>Note</dt><dd>the function ::data_structure::trie::deleteString might be erroneous </dd></dl>
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000005">Todo:</a></b></dt><dd>review the function ::data_structure::trie::deleteString and the commented lines </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
@@ -246,43 +245,43 @@ Here is the call graph for this function:</div>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if successful </dd>
<dd>
<code>false</code> if unsuccessful </dd></dl>
<div class="fragment"><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">if</span> (index == str.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>()) {</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6">isEndofWord</a>) {</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6">isEndofWord</a> = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="comment">// following lines - possible source of error?</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="comment">// for (int i = 0; i &lt; NUM_CHARS; i++)</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="comment">// if (!arr[i])</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="comment">// return false;</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordtype">int</span> j = <a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988">char_to_int</a>(str[index]);</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>[j]) {</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; }</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordtype">bool</span> var = <a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#aeac27cfd397d2dd3f2f519efffafeeab">deleteString</a>(str, index + 1);</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">if</span> (var) {</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>[j].reset();</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6">isEndofWord</a>) {</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordtype">int</span> i = 0;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191">NUM_CHARS</a>; i++) {</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>[i]) {</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; }</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; }</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; </div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="comment">/* should not return here */</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; __func__ &lt;&lt; <span class="stringliteral">&quot;:&quot;</span> &lt;&lt; __LINE__</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Should not reach this line\n&quot;</span>;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; }</div>
<div class="fragment"><div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> {</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">if</span> (index == str.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>()) {</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6">isEndofWord</a>) {</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</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_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6">isEndofWord</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="comment">// following lines - possible source of error?</span></div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="comment">// for (int i = 0; i &lt; NUM_CHARS; i++)</span></div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="comment">// if (!arr[i])</span></div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="comment">// return false;</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> }</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">int</span> j = <a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988">char_to_int</a>(str[index]);</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>[j]) {</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> }</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">bool</span> var = <a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#aeac27cfd397d2dd3f2f519efffafeeab">deleteString</a>(str, index + 1);</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">if</span> (var) {</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>[j].reset();</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6">isEndofWord</a>) {</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">int</span> i = 0;</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191">NUM_CHARS</a>; i++) {</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>[i]) {</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> }</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> }</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">return</span> <span class="keyword">true</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> }</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="comment">/* should not return here */</span></div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; __func__ &lt;&lt; <span class="stringliteral">&quot;:&quot;</span> &lt;&lt; __LINE__</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> &lt;&lt; <span class="stringliteral">&quot;Should not reach this line\n&quot;</span>;</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> }</div>
<div class="ttc" id="aclassdata__structures_1_1trie_html_a362dd78748a1f01ab019e55fd6098a8b"><div class="ttname"><a href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">data_structures::trie::arr</a></div><div class="ttdeci">std::array&lt; std::shared_ptr&lt; trie &gt;, NUM_CHARS&lt;&lt; 1 &gt; arr</div><div class="ttdoc">Recursive tree nodes as an array of shared-pointers.</div><div class="ttdef"><b>Definition:</b> trie_tree.cpp:29</div></div>
<div class="ttc" id="aclassdata__structures_1_1trie_html_a4cb0f775b5a4bc14a6d39b5c93883eb6"><div class="ttname"><a href="../../d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6">data_structures::trie::isEndofWord</a></div><div class="ttdeci">bool isEndofWord</div><div class="ttdoc">identifier if a node is terminal node</div><div class="ttdef"><b>Definition:</b> trie_tree.cpp:30</div></div>
<div class="ttc" id="aclassdata__structures_1_1trie_html_aab373beb3f618b90922528c68797d988"><div class="ttname"><a href="../../d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988">data_structures::trie::char_to_int</a></div><div class="ttdeci">uint8_t char_to_int(const char &amp;ch) const</div><div class="ttdoc">Convert a character to integer for indexing.</div><div class="ttdef"><b>Definition:</b> trie_tree.cpp:38</div></div>
@@ -297,7 +296,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a0ab94bc6417e3f59fab33cea5b64d546"></a>
<a id="a0ab94bc6417e3f59fab33cea5b64d546" name="a0ab94bc6417e3f59fab33cea5b64d546"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ab94bc6417e3f59fab33cea5b64d546">&#9670;&nbsp;</a></span>insert()</h2>
<div class="memitem">
@@ -320,41 +319,41 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>insert string into the trie </p><dl class="params"><dt>Parameters</dt><dd>
<p >insert string into the trie </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>String to insert in the tree </td></tr>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; {</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;trie&gt;</a> root(<span class="keyword">nullptr</span>);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keywordtype">char</span>&amp; ch : str) {</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordtype">int</span> j = <a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988">char_to_int</a>(ch);</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">if</span> (root) {</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span> (root-&gt;arr[j]) {</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; root = root-&gt;arr[j];</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;trie&gt;</a> temp(<span class="keyword">new</span> <a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8">trie</a>());</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; root-&gt;arr[j] = temp;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; root = temp;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>[j]) {</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; root = <a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>[j];</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;trie&gt;</a> temp(<span class="keyword">new</span> <a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8">trie</a>());</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>[j] = temp;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; root = temp;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; root-&gt;isEndofWord = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div>
<div class="fragment"><div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> {</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;trie&gt;</a> root(<span class="keyword">nullptr</span>);</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keywordtype">char</span>&amp; ch : str) {</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">int</span> j = <a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988">char_to_int</a>(ch);</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordflow">if</span> (root) {</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">if</span> (root-&gt;arr[j]) {</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> root = root-&gt;arr[j];</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;trie&gt;</a> temp(<span class="keyword">new</span> <a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8">trie</a>());</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> root-&gt;arr[j] = temp;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> root = temp;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> }</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>[j]) {</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> root = <a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>[j];</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;trie&gt;</a> temp(<span class="keyword">new</span> <a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8">trie</a>());</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>[j] = temp;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> root = temp;</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="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> root-&gt;isEndofWord = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> }</div>
<div class="ttc" id="aclassdata__structures_1_1trie_html_a87d8bf99aea936f9381141753f1e90a8"><div class="ttname"><a href="../../d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8">data_structures::trie::trie</a></div><div class="ttdeci">trie()=default</div><div class="ttdoc">Class default constructor.</div></div>
<div class="ttc" id="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a961eb5d576d2420f2036009154397c63"></a>
<a id="a961eb5d576d2420f2036009154397c63" name="a961eb5d576d2420f2036009154397c63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a961eb5d576d2420f2036009154397c63">&#9670;&nbsp;</a></span>search() <span class="overload">[1/2]</span></h2>
<div class="memitem">
@@ -393,7 +392,7 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>search a string exists inside a given root trie </p><dl class="params"><dt>Parameters</dt><dd>
<p >search a string exists inside a given root trie </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>string to search for </td></tr>
<tr><td class="paramname">index</td><td>start index to search from </td></tr>
@@ -403,24 +402,24 @@ Here is the call graph for this function:</div>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if found </dd>
<dd>
<code>false</code> if not found </dd></dl>
<div class="fragment"><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; {</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">if</span> (index == str.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>()) {</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">if</span> (!root-&gt;isEndofWord) {</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; }</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordtype">int</span> j = <a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988">char_to_int</a>(str[index]);</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">if</span> (!root-&gt;arr[j]) {</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63">search</a>(root-&gt;arr[j], str, index + 1);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; }</div>
<div class="fragment"><div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> {</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordflow">if</span> (index == str.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>()) {</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">if</span> (!root-&gt;isEndofWord) {</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> }</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> }</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">int</span> j = <a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988">char_to_int</a>(str[index]);</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">if</span> (!root-&gt;arr[j]) {</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> }</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63">search</a>(root-&gt;arr[j], str, index + 1);</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> }</div>
<div class="ttc" id="aclassdata__structures_1_1trie_html_a961eb5d576d2420f2036009154397c63"><div class="ttname"><a href="../../d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63">data_structures::trie::search</a></div><div class="ttdeci">bool search(const std::shared_ptr&lt; trie &gt; &amp;root, const std::string &amp;str, int index)</div><div class="ttdef"><b>Definition:</b> trie_tree.cpp:56</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a499f87fd833203ef9492b4870aa6d42d"></a>
<a id="a499f87fd833203ef9492b4870aa6d42d" name="a499f87fd833203ef9492b4870aa6d42d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a499f87fd833203ef9492b4870aa6d42d">&#9670;&nbsp;</a></span>search() <span class="overload">[2/2]</span></h2>
<div class="memitem">
@@ -453,7 +452,7 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>search a string exists inside the trie </p><dl class="params"><dt>Parameters</dt><dd>
<p >search a string exists inside the trie </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>string to search for </td></tr>
<tr><td class="paramname">index</td><td>start index to search from </td></tr>
@@ -463,19 +462,19 @@ Here is the call graph for this function:</div>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if found </dd>
<dd>
<code>false</code> if not found </dd></dl>
<div class="fragment"><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; {</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span> (index == str.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>()) {</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6">isEndofWord</a>) {</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordtype">int</span> j = <a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988">char_to_int</a>(str[index]);</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>[j]) {</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63">search</a>(<a class="code" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>[j], str, index + 1);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div>
<div class="fragment"><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">if</span> (index == str.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>()) {</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6">isEndofWord</a>) {</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</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="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> }</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span> j = <a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988">char_to_int</a>(str[index]);</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>[j]) {</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">return</span> <span class="keyword">false</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> <span class="keywordflow">return</span> <a class="code hl_function" href="../../d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63">search</a>(<a class="code hl_variable" href="../../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b">arr</a>[j], str, index + 1);</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> }</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -494,7 +493,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="../../d5/d3c/namespacedata__structures.html">data_structures</a></li><li class="navelem"><a class="el" href="../../d0/d3e/classdata__structures_1_1trie.html">trie</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.1 </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>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: data_structures::trie::search Pages: 1 -->
<svg width="341pt" height="127pt"

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: data_structures::trie::char_to_int Pages: 1 -->
<svg width="200pt" height="39pt"

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -1 +1 @@
58d4feca0fdac37785db0336ce32a8e4
8aae321f05ae2d913badcc57904f4eea

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: data_structures::trie::deleteString Pages: 1 -->
<svg width="341pt" height="78pt"
@@ -19,6 +19,12 @@
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M28.1,-47.16C22.22,-56.56 30.35,-65.5 52.5,-65.5 66,-65.5 74.29,-62.18 77.38,-57.46"/>
<polygon fill="midnightblue" stroke="midnightblue" points="80.86,-56.99 76.9,-47.16 73.87,-57.31 80.86,-56.99"/>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
@@ -45,7 +51,7 @@
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M105.26,-23.81C115.45,-22.2 126.18,-20.5 136.5,-18.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="137.32,-22.28 146.65,-17.26 136.22,-15.36 137.32,-22.28"/>

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -0,0 +1,261 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<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="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: math/finding_number_of_digits_in_a_number.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d0/d46/finding__number__of__digits__in__a__number_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">finding_number_of_digits_in_a_number.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>[Program to count digits in an integer](<a href="https://www.geeksforgeeks.org/program-count-digits-integer-3-different-methods">https://www.geeksforgeeks.org/program-count-digits-integer-3-different-methods</a>)
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;cassert&gt;</code><br />
<code>#include &lt;iostream&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for finding_number_of_digits_in_a_number.cpp:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d1/d4a/finding__number__of__digits__in__a__number_8cpp__incl.svg" width="200" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a8a3b522a675ab4cdec2d275f6f7798a1"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1">finding_number_of_digits_in_a_number</a> (uint64_t n)</td></tr>
<tr class="memdesc:a8a3b522a675ab4cdec2d275f6f7798a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">for IO operations <a href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1">More...</a><br /></td></tr>
<tr class="separator:a8a3b522a675ab4cdec2d275f6f7798a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8dca7b867074164d5f45b0f3851269d"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a> ()</td></tr>
<tr class="memdesc:aa8dca7b867074164d5f45b0f3851269d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Self-test implementations. <a href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">More...</a><br /></td></tr>
<tr class="separator:aa8dca7b867074164d5f45b0f3851269d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
<tr class="memdesc:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main function. <a href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">More...</a><br /></td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >[Program to count digits in an integer](<a href="https://www.geeksforgeeks.org/program-count-digits-integer-3-different-methods">https://www.geeksforgeeks.org/program-count-digits-integer-3-different-methods</a>) </p>
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/amino19" target="_blank">aminos 🇮🇳</a></dd></dl>
<p>It is a very basic math of finding number of digits in a given number i.e, we can use it by inputting values whether it can be a positive/negative value, let's say: an integer. There is also a second method: by using "K = floor(log10(N) + 1)", but it's only applicable for numbers (not integers). For more details, refer to the <a href="https://github.com/TheAlgorithms/Algorithms-Explanation/blob/master/en/Basic%20Math/Finding
the number of digits in a number.md" target="_blank">Algorithms-Explanation</a> repository. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a8a3b522a675ab4cdec2d275f6f7798a1" name="a8a3b522a675ab4cdec2d275f6f7798a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a3b522a675ab4cdec2d275f6f7798a1">&#9670;&nbsp;</a></span>finding_number_of_digits_in_a_number()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t finding_number_of_digits_in_a_number </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>n</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>for IO operations </p>
<p >for assert</p>
<p >The main function that checks the number of digits in a number. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">n</td><td>the number to check its digits </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the digits count </dd></dl>
<p >&lt; the variable used for the digits count</p>
<div class="fragment"><div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> {</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> uint64_t count = 0; <span class="comment">///&lt; the variable used for the digits count</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="comment">// iterate until `n` becomes 0</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="comment">// remove last digit from `n` in each iteration</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="comment">// increase `count` by 1 in each iteration</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keywordflow">while</span> (n != 0) {</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="comment">// we can also use `n = n / 10`</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> n /= 10;</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="comment">// each time the loop is running, `count` will be incremented by 1.</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> ++count;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> }</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">return</span> count;</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int main </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Main function. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on exit </dd></dl>
<div class="fragment"><div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> {</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <a class="code hl_function" href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// run self-test implementations</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span>}</div>
<div class="ttc" id="afinding__number__of__digits__in__a__number_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdoc">Self-test implementations.</div><div class="ttdef"><b>Definition:</b> finding_number_of_digits_in_a_number.cpp:47</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d46/finding__number__of__digits__in__a__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="372" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="aa8dca7b867074164d5f45b0f3851269d" name="aa8dca7b867074164d5f45b0f3851269d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8dca7b867074164d5f45b0f3851269d">&#9670;&nbsp;</a></span>test()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void test </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Self-test implementations. </p>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
<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> assert(<a class="code hl_function" href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1">finding_number_of_digits_in_a_number</a>(5492) == 4);</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> assert(<a class="code hl_function" href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1">finding_number_of_digits_in_a_number</a>(-0) == 0);</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> assert(<a class="code hl_function" href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1">finding_number_of_digits_in_a_number</a>(10000) == 5);</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> assert(<a class="code hl_function" href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1">finding_number_of_digits_in_a_number</a>(9) == 1);</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> assert(<a class="code hl_function" href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1">finding_number_of_digits_in_a_number</a>(100000) == 6);</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> assert(<a class="code hl_function" href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1">finding_number_of_digits_in_a_number</a>(13) == 2);</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> assert(<a class="code hl_function" href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1">finding_number_of_digits_in_a_number</a>(564) == 3);</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</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;All tests have successfully passed!\n&quot;</span>;</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</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="afinding__number__of__digits__in__a__number_8cpp_html_a8a3b522a675ab4cdec2d275f6f7798a1"><div class="ttname"><a href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1">finding_number_of_digits_in_a_number</a></div><div class="ttdeci">uint64_t finding_number_of_digits_in_a_number(uint64_t n)</div><div class="ttdoc">for IO operations</div><div class="ttdef"><b>Definition:</b> finding_number_of_digits_in_a_number.cpp:27</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d46/finding__number__of__digits__in__a__number_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg" width="274" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_296d53ceaeaa7e099814a6def439fe8a.html">math</a></li><li class="navelem"><a class="el" href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html">finding_number_of_digits_in_a_number.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,6 @@
var finding__number__of__digits__in__a__number_8cpp =
[
[ "finding_number_of_digits_in_a_number", "d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1", null ],
[ "main", "d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ],
[ "test", "d0/d46/finding__number__of__digits__in__a__number_8cpp.html#aa8dca7b867074164d5f45b0f3851269d", null ]
];

View File

@@ -0,0 +1,4 @@
<map id="test" name="test">
<area shape="rect" id="node1" title="Self&#45;test implementations." alt="" coords="5,13,49,39"/>
<area shape="rect" id="node2" href="$d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1" title="for IO operations" alt="" coords="97,5,268,47"/>
</map>

View File

@@ -0,0 +1 @@
a77ae5d31e83e6b30fa2f4d9726c1a23

View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: test Pages: 1 -->
<svg width="205pt" height="39pt"
viewBox="0.00 0.00 205.00 39.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 35)">
<title>test</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-35 201,-35 201,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Self&#45;test implementations.">
<polygon fill="#bfbfbf" stroke="black" points="0,-6 0,-25 33,-25 33,-6 0,-6"/>
<text text-anchor="middle" x="16.5" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">test</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1" target="_top" xlink:title="for IO operations">
<polygon fill="white" stroke="black" points="69,-0.5 69,-30.5 197,-30.5 197,-0.5 69,-0.5"/>
<text text-anchor="start" x="77" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">finding_number_of_digits</text>
<text text-anchor="middle" x="133" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_in_a_number</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M33.42,-15.5C40.49,-15.5 49.36,-15.5 58.86,-15.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="58.95,-19 68.95,-15.5 58.95,-12 58.95,-19"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,5 @@
<map id="main" name="main">
<area shape="rect" id="node1" title="Main function." alt="" coords="5,13,56,39"/>
<area shape="rect" id="node2" href="$d0/d46/finding__number__of__digits__in__a__number_8cpp.html#aa8dca7b867074164d5f45b0f3851269d" title="Self&#45;test implementations." alt="" coords="104,13,148,39"/>
<area shape="rect" id="node3" href="$d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1" title="for IO operations" alt="" coords="196,5,367,47"/>
</map>

View File

@@ -0,0 +1 @@
7e348189bb432c44671b8f6f7fba747b

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<svg width="279pt" height="39pt"
viewBox="0.00 0.00 279.00 39.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 35)">
<title>main</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-35 275,-35 275,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Main function.">
<polygon fill="#bfbfbf" stroke="black" points="0,-6 0,-25 38,-25 38,-6 0,-6"/>
<text text-anchor="middle" x="19" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">main</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#aa8dca7b867074164d5f45b0f3851269d" target="_top" xlink:title="Self&#45;test implementations.">
<polygon fill="white" stroke="black" points="74,-6 74,-25 107,-25 107,-6 74,-6"/>
<text text-anchor="middle" x="90.5" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">test</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M38.26,-15.5C46.07,-15.5 55.31,-15.5 63.79,-15.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="63.95,-19 73.95,-15.5 63.95,-12 63.95,-19"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1" target="_top" xlink:title="for IO operations">
<polygon fill="white" stroke="black" points="143,-0.5 143,-30.5 271,-30.5 271,-0.5 143,-0.5"/>
<text text-anchor="start" x="151" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">finding_number_of_digits</text>
<text text-anchor="middle" x="207" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_in_a_number</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M107.42,-15.5C114.49,-15.5 123.36,-15.5 132.86,-15.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="132.95,-19 142.95,-15.5 132.95,-12 132.95,-19"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: others::iterative_tree_traversals::Node Pages: 1 -->
<svg width="154pt" height="39pt"

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: wiggle_sort Namespace Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<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>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d0/d52/namespacewiggle__sort.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,22 +90,21 @@ $(document).ready(function(){initNavTree('d0/d52/namespacewiggle__sort.html','..
</div>
<div class="header">
<div class="headertitle">
<div class="title">wiggle_sort Namespace Reference</div> </div>
<div class="headertitle"><div class="title">wiggle_sort Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Functions for <a href="https://leetcode.com/problems/wiggle-sort-ii/">Wiggle Sort</a> algorithm.
<p>Functions for <a href="https://leetcode.com/problems/wiggle-sort-ii/" target="_blank">Wiggle Sort</a> algorithm.
<a href="../../d0/d52/namespacewiggle__sort.html#details">More...</a></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Functions for <a href="https://leetcode.com/problems/wiggle-sort-ii/">Wiggle Sort</a> algorithm. </p>
<div class="textblock"><p >Functions for <a href="https://leetcode.com/problems/wiggle-sort-ii/" target="_blank">Wiggle Sort</a> algorithm. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d0/d52/namespacewiggle__sort.html">wiggle_sort</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.1 </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>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<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>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d5/d15/classcll.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,30 +90,29 @@ $(document).ready(function(){initNavTree('d5/d15/classcll.html','../../'); initR
</div>
<div class="header">
<div class="headertitle">
<div class="title">cll Member List</div> </div>
<div class="headertitle"><div class="title">cll Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d5/d15/classcll.html">cll</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>cll</b>() (defined in <a class="el" href="../../d5/d15/classcll.html">cll</a>)</td><td class="entry"><a class="el" href="../../d5/d15/classcll.html">cll</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>display</b>() (defined in <a class="el" href="../../d5/d15/classcll.html">cll</a>)</td><td class="entry"><a class="el" href="../../d5/d15/classcll.html">cll</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>display</b>() (defined in <a class="el" href="../../d5/d15/classcll.html">cll</a>)</td><td class="entry"><a class="el" href="../../d5/d15/classcll.html">cll</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>find_item</b>(int item_to_find) (defined in <a class="el" href="../../d5/d15/classcll.html">cll</a>)</td><td class="entry"><a class="el" href="../../d5/d15/classcll.html">cll</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>get_size</b>() (defined in <a class="el" href="../../d5/d15/classcll.html">cll</a>)</td><td class="entry"><a class="el" href="../../d5/d15/classcll.html">cll</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get_size</b>() (defined in <a class="el" href="../../d5/d15/classcll.html">cll</a>)</td><td class="entry"><a class="el" href="../../d5/d15/classcll.html">cll</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>head</b> (defined in <a class="el" href="../../d5/d15/classcll.html">cll</a>)</td><td class="entry"><a class="el" href="../../d5/d15/classcll.html">cll</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>insert_front</b>(int new_data) (defined in <a class="el" href="../../d5/d15/classcll.html">cll</a>)</td><td class="entry"><a class="el" href="../../d5/d15/classcll.html">cll</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>insert_front</b>(int new_data) (defined in <a class="el" href="../../d5/d15/classcll.html">cll</a>)</td><td class="entry"><a class="el" href="../../d5/d15/classcll.html">cll</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>insert_tail</b>(int new_data) (defined in <a class="el" href="../../d5/d15/classcll.html">cll</a>)</td><td class="entry"><a class="el" href="../../d5/d15/classcll.html">cll</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>operator*</b>() (defined in <a class="el" href="../../d5/d15/classcll.html">cll</a>)</td><td class="entry"><a class="el" href="../../d5/d15/classcll.html">cll</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator*</b>() (defined in <a class="el" href="../../d5/d15/classcll.html">cll</a>)</td><td class="entry"><a class="el" href="../../d5/d15/classcll.html">cll</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator++</b>() (defined in <a class="el" href="../../d5/d15/classcll.html">cll</a>)</td><td class="entry"><a class="el" href="../../d5/d15/classcll.html">cll</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>total</b> (defined in <a class="el" href="../../d5/d15/classcll.html">cll</a>)</td><td class="entry"><a class="el" href="../../d5/d15/classcll.html">cll</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>total</b> (defined in <a class="el" href="../../d5/d15/classcll.html">cll</a>)</td><td class="entry"><a class="el" href="../../d5/d15/classcll.html">cll</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~cll</b>() (defined in <a class="el" href="../../d5/d15/classcll.html">cll</a>)</td><td class="entry"><a class="el" href="../../d5/d15/classcll.html">cll</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </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>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: graph::RootedTree Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<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>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d0/d58/classgraph_1_1_rooted_tree.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -95,8 +95,7 @@ $(document).ready(function(){initNavTree('d0/d58/classgraph_1_1_rooted_tree.html
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="../../d5/d55/classgraph_1_1_rooted_tree-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">graph::RootedTree Class Reference</div> </div>
<div class="headertitle"><div class="title">graph::RootedTree Class Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
@@ -108,11 +107,11 @@ Inheritance diagram for graph::RootedTree:</div>
<div class="dynheader">
Collaboration diagram for graph::RootedTree:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d24/classgraph_1_1_rooted_tree__coll__graph.svg" width="399" height="322"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d24/classgraph_1_1_rooted_tree__coll__graph.svg" width="144" height="112"><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 name="pub-methods"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aacdeecac857623e9fbfe92590f3c504d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d58/classgraph_1_1_rooted_tree.html#aacdeecac857623e9fbfe92590f3c504d">RootedTree</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; int, int &gt; &gt; &amp;undirected_edges, int root_)</td></tr>
<tr class="memdesc:aacdeecac857623e9fbfe92590f3c504d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs the tree by calculating parent for every vertex. Assumes a valid description of a tree is provided. <a href="../../d0/d58/classgraph_1_1_rooted_tree.html#aacdeecac857623e9fbfe92590f3c504d">More...</a><br /></td></tr>
@@ -120,44 +119,44 @@ Public Member Functions</h2></td></tr>
<tr class="inherit_header pub_methods_classgraph_1_1_graph"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgraph_1_1_graph')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../dc/d61/classgraph_1_1_graph.html">graph::Graph&lt; T &gt;</a></td></tr>
<tr class="memitem:a877b2cba40d8d46dde6fb4209effed19 inherit pub_methods_classgraph_1_1_graph"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a> (T u, T v, bool bidir=true)</td></tr>
<tr class="separator:a877b2cba40d8d46dde6fb4209effed19 inherit pub_methods_classgraph_1_1_graph"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1a1a96cd4cddf0d4feb02855c4c16af inherit pub_methods_classgraph_1_1_graph"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">std::map</a>&lt; T, bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d61/classgraph_1_1_graph.html#ab1a1a96cd4cddf0d4feb02855c4c16af">breadth_first_search</a> (T src)</td></tr>
<tr class="separator:ab1a1a96cd4cddf0d4feb02855c4c16af inherit pub_methods_classgraph_1_1_graph"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3755ec9e6a842238c7f4aac10b661981 inherit pub_methods_classgraph_1_1_graph"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">std::map</a>&lt; T, bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d61/classgraph_1_1_graph.html#a3755ec9e6a842238c7f4aac10b661981">breadth_first_search</a> (T src)</td></tr>
<tr class="separator:a3755ec9e6a842238c7f4aac10b661981 inherit pub_methods_classgraph_1_1_graph"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8839fa14bff19d2deab4a618447c13e5 inherit pub_methods_classgraph_1_1_graph"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d61/classgraph_1_1_graph.html#a8839fa14bff19d2deab4a618447c13e5">Graph</a> (size_t N, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; int, int &gt; &gt; &amp;undirected_edges)</td></tr>
<tr class="memdesc:a8839fa14bff19d2deab4a618447c13e5 inherit pub_methods_classgraph_1_1_graph"><td class="mdescLeft">&#160;</td><td class="mdescRight">Populate the adjacency list for each vertex in the graph. Assumes that evey edge is a pair of valid vertex indices. <a href="../../dc/d61/classgraph_1_1_graph.html#a8839fa14bff19d2deab4a618447c13e5">More...</a><br /></td></tr>
<tr class="separator:a8839fa14bff19d2deab4a618447c13e5 inherit pub_methods_classgraph_1_1_graph"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8930d1470d132b19e430d1c71f94c904 inherit pub_methods_classgraph_1_1_graph"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d61/classgraph_1_1_graph.html#a8930d1470d132b19e430d1c71f94c904">number_of_vertices</a> () const</td></tr>
<tr class="separator:a8930d1470d132b19e430d1c71f94c904 inherit pub_methods_classgraph_1_1_graph"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a3831583a91914988897a4cc8748fda43"><td class="memItemLeft" align="right" valign="top"><a id="a3831583a91914988897a4cc8748fda43"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a3831583a91914988897a4cc8748fda43">parent</a></td></tr>
<tr class="memitem:a3831583a91914988897a4cc8748fda43"><td class="memItemLeft" align="right" valign="top"><a id="a3831583a91914988897a4cc8748fda43" name="a3831583a91914988897a4cc8748fda43"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>parent</b></td></tr>
<tr class="memdesc:a3831583a91914988897a4cc8748fda43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stores parent of every vertex and for root its own index. The root is technically not its own parent, but it's very practical for the lowest common ancestor algorithm. <br /></td></tr>
<tr class="separator:a3831583a91914988897a4cc8748fda43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ee3ad1161ac2532da30c3e22c265ad3"><td class="memItemLeft" align="right" valign="top"><a id="a2ee3ad1161ac2532da30c3e22c265ad3"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3">level</a></td></tr>
<tr class="memitem:a2ee3ad1161ac2532da30c3e22c265ad3"><td class="memItemLeft" align="right" valign="top"><a id="a2ee3ad1161ac2532da30c3e22c265ad3" name="a2ee3ad1161ac2532da30c3e22c265ad3"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>level</b></td></tr>
<tr class="memdesc:a2ee3ad1161ac2532da30c3e22c265ad3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stores the distance from the root. <br /></td></tr>
<tr class="separator:a2ee3ad1161ac2532da30c3e22c265ad3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab22a97bf6209a085fc2d788c3c0dacbe"><td class="memItemLeft" align="right" valign="top"><a id="ab22a97bf6209a085fc2d788c3c0dacbe"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe">root</a></td></tr>
<tr class="memitem:ab22a97bf6209a085fc2d788c3c0dacbe"><td class="memItemLeft" align="right" valign="top"><a id="ab22a97bf6209a085fc2d788c3c0dacbe" name="ab22a97bf6209a085fc2d788c3c0dacbe"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>root</b></td></tr>
<tr class="memdesc:ab22a97bf6209a085fc2d788c3c0dacbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index of the root vertex. <br /></td></tr>
<tr class="separator:ab22a97bf6209a085fc2d788c3c0dacbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_classgraph_1_1_graph"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classgraph_1_1_graph')"><img src="../../closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="../../dc/d61/classgraph_1_1_graph.html">graph::Graph&lt; T &gt;</a></td></tr>
<tr class="memitem:a59940c462861f2fcf4951d1b6c084e6a inherit pub_attribs_classgraph_1_1_graph"><td class="memItemLeft" align="right" valign="top"><a id="a59940c462861f2fcf4951d1b6c084e6a"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d61/classgraph_1_1_graph.html#a59940c462861f2fcf4951d1b6c084e6a">neighbors</a></td></tr>
<tr class="memitem:a59940c462861f2fcf4951d1b6c084e6a inherit pub_attribs_classgraph_1_1_graph"><td class="memItemLeft" align="right" valign="top"><a id="a59940c462861f2fcf4951d1b6c084e6a" name="a59940c462861f2fcf4951d1b6c084e6a"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>neighbors</b></td></tr>
<tr class="memdesc:a59940c462861f2fcf4951d1b6c084e6a inherit pub_attribs_classgraph_1_1_graph"><td class="mdescLeft">&#160;</td><td class="mdescRight">for each vertex it stores a list indicies of its neighbors <br /></td></tr>
<tr class="separator:a59940c462861f2fcf4951d1b6c084e6a inherit pub_attribs_classgraph_1_1_graph"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ae6928f3ebd491541e9570e746b877c1e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d58/classgraph_1_1_rooted_tree.html#ae6928f3ebd491541e9570e746b877c1e">populate_parents</a> ()</td></tr>
<tr class="memdesc:ae6928f3ebd491541e9570e746b877c1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the parents for all the vertices in the tree. Implements the breadth first search algorithm starting from the root vertex searching the entire tree and labeling parents for all vertices. <a href="../../d0/d58/classgraph_1_1_rooted_tree.html#ae6928f3ebd491541e9570e746b877c1e">More...</a><br /></td></tr>
<tr class="separator:ae6928f3ebd491541e9570e746b877c1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Representation of a rooted tree. For every vertex its parent is precalculated. </p>
<div class="textblock"><p >Representation of a rooted tree. For every vertex its parent is precalculated. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aacdeecac857623e9fbfe92590f3c504d"></a>
<a id="aacdeecac857623e9fbfe92590f3c504d" name="aacdeecac857623e9fbfe92590f3c504d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacdeecac857623e9fbfe92590f3c504d">&#9670;&nbsp;</a></span>RootedTree()</h2>
<div class="memitem">
@@ -199,9 +198,9 @@ Protected Member Functions</h2></td></tr>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; : <a class="code" href="../../da/d9a/class_graph.html">Graph</a>(undirected_edges.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() + 1, undirected_edges), <a class="code" href="../../d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe">root</a>(root_) {</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="../../d0/d58/classgraph_1_1_rooted_tree.html#ae6928f3ebd491541e9570e746b877c1e">populate_parents</a>();</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div>
<div class="fragment"><div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> : <a class="code hl_class" href="../../da/d9a/class_graph.html">Graph</a>(undirected_edges.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() + 1, undirected_edges), <a class="code hl_variable" href="../../d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe">root</a>(root_) {</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_function" href="../../d0/d58/classgraph_1_1_rooted_tree.html#ae6928f3ebd491541e9570e746b877c1e">populate_parents</a>();</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> }</div>
<div class="ttc" id="aclass_graph_html"><div class="ttname"><a href="../../da/d9a/class_graph.html">Graph</a></div><div class="ttdef"><b>Definition:</b> bellman_ford.cpp:13</div></div>
<div class="ttc" id="aclassgraph_1_1_rooted_tree_html_ab22a97bf6209a085fc2d788c3c0dacbe"><div class="ttname"><a href="../../d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe">graph::RootedTree::root</a></div><div class="ttdeci">int root</div><div class="ttdoc">Index of the root vertex.</div><div class="ttdef"><b>Definition:</b> lowest_common_ancestor.cpp:108</div></div>
<div class="ttc" id="aclassgraph_1_1_rooted_tree_html_ae6928f3ebd491541e9570e746b877c1e"><div class="ttname"><a href="../../d0/d58/classgraph_1_1_rooted_tree.html#ae6928f3ebd491541e9570e746b877c1e">graph::RootedTree::populate_parents</a></div><div class="ttdeci">void populate_parents()</div><div class="ttdoc">Calculate the parents for all the vertices in the tree. Implements the breadth first search algorithm...</div><div class="ttdef"><b>Definition:</b> lowest_common_ancestor.cpp:117</div></div>
@@ -210,7 +209,7 @@ Protected Member Functions</h2></td></tr>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ae6928f3ebd491541e9570e746b877c1e"></a>
<a id="ae6928f3ebd491541e9570e746b877c1e" name="ae6928f3ebd491541e9570e746b877c1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6928f3ebd491541e9570e746b877c1e">&#9670;&nbsp;</a></span>populate_parents()</h2>
<div class="memitem">
@@ -235,28 +234,28 @@ Protected Member Functions</h2></td></tr>
<p>Calculate the parents for all the vertices in the tree. Implements the breadth first search algorithm starting from the root vertex searching the entire tree and labeling parents for all vertices. </p>
<dl class="section return"><dt>Returns</dt><dd>none </dd></dl>
<div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="comment">// Initialize the vector with -1 which indicates the vertex</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="comment">// wasn&#39;t yet visited.</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a3831583a91914988897a4cc8748fda43">parent</a> = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;int&gt;</a>(<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#a8930d1470d132b19e430d1c71f94c904">number_of_vertices</a>(), -1);</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3">level</a> = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;int&gt;</a>(<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#a8930d1470d132b19e430d1c71f94c904">number_of_vertices</a>());</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a3831583a91914988897a4cc8748fda43">parent</a>[<a class="code" href="../../d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe">root</a>] = <a class="code" href="../../d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe">root</a>;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3">level</a>[<a class="code" href="../../d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe">root</a>] = 0;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue.html">std::queue&lt;int&gt;</a> queue_of_vertices;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; queue_of_vertices.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/push.html">push</a>(<a class="code" href="../../d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe">root</a>);</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">while</span> (!queue_of_vertices.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/empty.html">empty</a>()) {</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordtype">int</span> vertex = queue_of_vertices.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/front.html">front</a>();</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; queue_of_vertices.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/pop.html">pop</a>();</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> neighbor : <a class="code" href="../../dc/d61/classgraph_1_1_graph.html#a59940c462861f2fcf4951d1b6c084e6a">neighbors</a>[vertex]) {</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="comment">// As long as the vertex was not yet visited.</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a3831583a91914988897a4cc8748fda43">parent</a>[neighbor] == -1) {</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a3831583a91914988897a4cc8748fda43">parent</a>[neighbor] = vertex;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3">level</a>[neighbor] = <a class="code" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3">level</a>[vertex] + 1;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; queue_of_vertices.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/push.html">push</a>(neighbor);</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; }</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div>
<div class="fragment"><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> <span class="comment">// Initialize the vector with -1 which indicates the vertex</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="comment">// wasn&#39;t yet visited.</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <a class="code hl_variable" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a3831583a91914988897a4cc8748fda43">parent</a> = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;int&gt;</a>(<a class="code hl_function" href="../../dc/d61/classgraph_1_1_graph.html#a8930d1470d132b19e430d1c71f94c904">number_of_vertices</a>(), -1);</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <a class="code hl_variable" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3">level</a> = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;int&gt;</a>(<a class="code hl_function" href="../../dc/d61/classgraph_1_1_graph.html#a8930d1470d132b19e430d1c71f94c904">number_of_vertices</a>());</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <a class="code hl_variable" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a3831583a91914988897a4cc8748fda43">parent</a>[<a class="code hl_variable" href="../../d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe">root</a>] = <a class="code hl_variable" href="../../d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe">root</a>;</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <a class="code hl_variable" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3">level</a>[<a class="code hl_variable" href="../../d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe">root</a>] = 0;</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue.html">std::queue&lt;int&gt;</a> queue_of_vertices;</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> queue_of_vertices.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/push.html">push</a>(<a class="code hl_variable" href="../../d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe">root</a>);</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">while</span> (!queue_of_vertices.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/empty.html">empty</a>()) {</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">int</span> vertex = queue_of_vertices.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/front.html">front</a>();</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> queue_of_vertices.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/pop.html">pop</a>();</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> neighbor : <a class="code hl_variable" href="../../dc/d61/classgraph_1_1_graph.html#a59940c462861f2fcf4951d1b6c084e6a">neighbors</a>[vertex]) {</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="comment">// As long as the vertex was not yet visited.</span></div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a3831583a91914988897a4cc8748fda43">parent</a>[neighbor] == -1) {</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <a class="code hl_variable" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a3831583a91914988897a4cc8748fda43">parent</a>[neighbor] = vertex;</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <a class="code hl_variable" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3">level</a>[neighbor] = <a class="code hl_variable" href="../../d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3">level</a>[vertex] + 1;</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> queue_of_vertices.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue/push.html">push</a>(neighbor);</div>
<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> }</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> }</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> }</div>
<div class="ttc" id="aclassgraph_1_1_graph_html_a59940c462861f2fcf4951d1b6c084e6a"><div class="ttname"><a href="../../dc/d61/classgraph_1_1_graph.html#a59940c462861f2fcf4951d1b6c084e6a">graph::Graph::neighbors</a></div><div class="ttdeci">std::vector&lt; std::vector&lt; int &gt; &gt; neighbors</div><div class="ttdoc">for each vertex it stores a list indicies of its neighbors</div><div class="ttdef"><b>Definition:</b> lowest_common_ancestor.cpp:77</div></div>
<div class="ttc" id="aclassgraph_1_1_graph_html_a8930d1470d132b19e430d1c71f94c904"><div class="ttname"><a href="../../dc/d61/classgraph_1_1_graph.html#a8930d1470d132b19e430d1c71f94c904">graph::Graph::number_of_vertices</a></div><div class="ttdeci">int number_of_vertices() const</div><div class="ttdef"><b>Definition:</b> lowest_common_ancestor.cpp:74</div></div>
<div class="ttc" id="aclassgraph_1_1_rooted_tree_html_a2ee3ad1161ac2532da30c3e22c265ad3"><div class="ttname"><a href="../../d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3">graph::RootedTree::level</a></div><div class="ttdeci">std::vector&lt; int &gt; level</div><div class="ttdoc">Stores the distance from the root.</div><div class="ttdef"><b>Definition:</b> lowest_common_ancestor.cpp:106</div></div>
@@ -266,11 +265,11 @@ Protected Member Functions</h2></td></tr>
<div class="ttc" id="apop_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/queue/pop.html">std::queue::pop</a></div><div class="ttdeci">T pop(T... args)</div></div>
<div class="ttc" id="apush_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/queue/push.html">std::queue::push</a></div><div class="ttdeci">T push(T... args)</div></div>
<div class="ttc" id="aqueue_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/queue.html">std::queue</a></div></div>
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt; int &gt;</a></div></div>
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph.svg" width="516" height="256"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph.svg" width="354" height="256"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
@@ -285,7 +284,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="../../df/dce/namespacegraph.html">graph</a></li><li class="navelem"><a class="el" href="../../d0/d58/classgraph_1_1_rooted_tree.html">RootedTree</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.1 </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>
</ul>
</div>
</body>

View File

@@ -3,7 +3,6 @@
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/queue/empty.html#" title=" " alt="" coords="207,5,335,32"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/queue/front.html#" title=" " alt="" coords="212,56,331,83"/>
<area shape="rect" id="node4" href="$dc/d61/classgraph_1_1_graph.html#a8930d1470d132b19e430d1c71f94c904" title=" " alt="" coords="195,107,348,149"/>
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/queue/pop.html#" title=" " alt="" coords="215,173,328,200"/>
<area shape="rect" id="node7" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/queue/push.html#" title=" " alt="" coords="211,224,331,251"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="396,115,511,141"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/queue/pop.html#" title=" " alt="" coords="215,173,328,200"/>
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/queue/push.html#" title=" " alt="" coords="211,224,331,251"/>
</map>

View File

@@ -1 +1 @@
bc920f285b3152dc7c7b711077dbe589
5140188bde807e8ce6c880ee55e7f442

View File

@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: graph::RootedTree::populate_parents Pages: 1 -->
<svg width="387pt" height="192pt"
viewBox="0.00 0.00 387.00 192.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg width="265pt" height="192pt"
viewBox="0.00 0.00 265.00 192.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 188)">
<title>graph::RootedTree::populate_parents</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-188 383,-188 383,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-188 261,-188 261,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
@@ -65,50 +65,35 @@
<path fill="none" stroke="midnightblue" d="M106.17,-92C114.33,-92 122.86,-92 131.3,-92"/>
<polygon fill="midnightblue" stroke="midnightblue" points="131.52,-95.5 141.52,-92 131.52,-88.5 131.52,-95.5"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/queue/pop.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="157,-38.5 157,-57.5 242,-57.5 242,-38.5 157,-38.5"/>
<text text-anchor="middle" x="199.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::queue::pop</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M103.32,-76.98C120.79,-71.66 140.26,-65.74 157.01,-60.63"/>
<polygon fill="midnightblue" stroke="midnightblue" points="158.5,-63.84 167.04,-57.58 156.46,-57.14 158.5,-63.84"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/queue/pop.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="157,-38.5 157,-57.5 242,-57.5 242,-38.5 157,-38.5"/>
<text text-anchor="middle" x="199.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::queue::pop</text>
<g id="a_node6"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/queue/push.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="154.5,-0.5 154.5,-19.5 244.5,-19.5 244.5,-0.5 154.5,-0.5"/>
<text text-anchor="middle" x="199.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::queue::push</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node1&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M103.32,-76.98C120.79,-71.66 140.26,-65.74 157.01,-60.63"/>
<polygon fill="midnightblue" stroke="midnightblue" points="158.5,-63.84 167.04,-57.58 156.46,-57.14 158.5,-63.84"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/queue/push.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="154.5,-0.5 154.5,-19.5 244.5,-19.5 244.5,-0.5 154.5,-0.5"/>
<text text-anchor="middle" x="199.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::queue::push</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node1&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M71.85,-76.78C88.94,-62.82 115.91,-42.35 142,-29 146.21,-26.85 150.72,-24.85 155.29,-23.04"/>
<polygon fill="midnightblue" stroke="midnightblue" points="156.51,-26.32 164.66,-19.55 154.07,-19.76 156.51,-26.32"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="293,-82.5 293,-101.5 379,-101.5 379,-82.5 293,-82.5"/>
<text text-anchor="middle" x="336" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node4&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M257.15,-92C265.62,-92 274.33,-92 282.7,-92"/>
<polygon fill="midnightblue" stroke="midnightblue" points="282.72,-95.5 292.72,-92 282.72,-88.5 282.72,-95.5"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: ciphers/uint256_t.hpp Pages: 1 -->
<svg width="120pt" height="95pt"

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: data_structures/skip_list.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<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>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d0/d5a/skip__list_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -95,8 +95,7 @@ $(document).ready(function(){initNavTree('d0/d5a/skip__list_8cpp.html','../../')
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">skip_list.cpp File Reference</div> </div>
<div class="headertitle"><div class="title">skip_list.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
@@ -115,43 +114,43 @@ Include dependency graph for skip_list.cpp:</div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d49/structdata__structures_1_1_node.html">data_structures::Node</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d90/classdata__structures_1_1_skip_list.html">data_structures::SkipList</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d5/d3c/namespacedata__structures"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3c/namespacedata__structures.html">data_structures</a></td></tr>
<tr class="memitem:d5/d3c/namespacedata__structures"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3c/namespacedata__structures.html">data_structures</a></td></tr>
<tr class="memdesc:d5/d3c/namespacedata__structures"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data Structures algorithms. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d5a/skip__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ac0d7e0be24da9f41bcb19745873c436a"><td class="memItemLeft" align="right" valign="top"><a id="ac0d7e0be24da9f41bcb19745873c436a"></a>
constexpr int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3c/namespacedata__structures.html#ac0d7e0be24da9f41bcb19745873c436a">data_structures::MAX_LEVEL</a> = 2</td></tr>
<tr class="memitem:ac0d7e0be24da9f41bcb19745873c436a"><td class="memItemLeft" align="right" valign="top"><a id="ac0d7e0be24da9f41bcb19745873c436a" name="ac0d7e0be24da9f41bcb19745873c436a"></a>
constexpr int&#160;</td><td class="memItemRight" valign="bottom"><b>data_structures::MAX_LEVEL</b> = 2</td></tr>
<tr class="memdesc:ac0d7e0be24da9f41bcb19745873c436a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum level of skip list. <br /></td></tr>
<tr class="separator:ac0d7e0be24da9f41bcb19745873c436a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a903639d8e6f955dd8d5c263781455d61"><td class="memItemLeft" align="right" valign="top"><a id="a903639d8e6f955dd8d5c263781455d61"></a>
constexpr float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3c/namespacedata__structures.html#a903639d8e6f955dd8d5c263781455d61">data_structures::PROBABILITY</a> = 0.5</td></tr>
<tr class="memitem:a903639d8e6f955dd8d5c263781455d61"><td class="memItemLeft" align="right" valign="top"><a id="a903639d8e6f955dd8d5c263781455d61" name="a903639d8e6f955dd8d5c263781455d61"></a>
constexpr float&#160;</td><td class="memItemRight" valign="bottom"><b>data_structures::PROBABILITY</b> = 0.5</td></tr>
<tr class="memdesc:a903639d8e6f955dd8d5c263781455d61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current probability for "coin toss". <br /></td></tr>
<tr class="separator:a903639d8e6f955dd8d5c263781455d61"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Data structure for fast searching and insertion in \(O(\log n)\) time. </p>
<p>A skip list is a data structure that is used for storing a sorted list of items with a help of hierarchy of linked lists that connect increasingly sparse subsequences of the items</p>
<p>References used: <a href="https://www.geeksforgeeks.org/skip-list/">GeeksForGeek</a>, <a href="https://iq.opengenus.org/skip-list">OpenGenus</a> for PseudoCode and Code </p><dl class="section author"><dt>Author</dt><dd><a href="https://github.com/enqidu">enqidu</a> </dd>
<div class="textblock"><p >Data structure for fast searching and insertion in \(O(\log n)\) time. </p>
<p >A skip list is a data structure that is used for storing a sorted list of items with a help of hierarchy of linked lists that connect increasingly sparse subsequences of the items</p>
<p >References used: <a href="https://www.geeksforgeeks.org/skip-list/" target="_blank">GeeksForGeek</a>, <a href="https://iq.opengenus.org/skip-list" target="_blank">OpenGenus</a> for PseudoCode and Code </p><dl class="section author"><dt>Author</dt><dd><a href="https://github.com/enqidu" target="_blank">enqidu</a> </dd>
<dd>
<a href="https://github.com/kvedala">Krishna Vedala</a> </dd></dl>
<a href="https://github.com/kvedala" target="_blank">Krishna Vedala</a> </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
@@ -166,21 +165,21 @@ constexpr float&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
</tr>
</table>
</div><div class="memdoc">
<p>Main function: Creates and inserts random 2^[number of levels] elements into the skip lists and than displays it </p>
<div class="fragment"><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">std::srand</a>(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/time.html">std::time</a>(<span class="keyword">nullptr</span>));</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; </div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <a class="code" href="../../d4/d90/classdata__structures_1_1_skip_list.html">data_structures::SkipList</a> lst;</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; </div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; (1 &lt;&lt; (<a class="code" href="../../d5/d3c/namespacedata__structures.html#ac0d7e0be24da9f41bcb19745873c436a">data_structures::MAX_LEVEL</a> + 1)); j++) {</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordtype">int</span> k = (<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a>() % (1 &lt;&lt; (<a class="code" href="../../d5/d3c/namespacedata__structures.html#ac0d7e0be24da9f41bcb19745873c436a">data_structures::MAX_LEVEL</a> + 2)) + 1);</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; lst.<a class="code" href="../../d4/d90/classdata__structures_1_1_skip_list.html#a40a4042bdf0b6683b5f21ae7854de8a9">insertElement</a>(k, &amp;j);</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; }</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; </div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; lst.<a class="code" href="../../d4/d90/classdata__structures_1_1_skip_list.html#a812611f80b8079268dbb19cc4e9bee5c">displayList</a>();</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; </div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;}</div>
<p >Main function: Creates and inserts random 2^[number of levels] elements into the skip lists and than displays it </p>
<div class="fragment"><div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> {</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">std::srand</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/time.html">std::time</a>(<span class="keyword">nullptr</span>));</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> </div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <a class="code hl_class" href="../../d4/d90/classdata__structures_1_1_skip_list.html">data_structures::SkipList</a> lst;</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> </div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; (1 &lt;&lt; (<a class="code hl_variable" href="../../d5/d3c/namespacedata__structures.html#ac0d7e0be24da9f41bcb19745873c436a">data_structures::MAX_LEVEL</a> + 1)); j++) {</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keywordtype">int</span> k = (<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a>() % (1 &lt;&lt; (<a class="code hl_variable" href="../../d5/d3c/namespacedata__structures.html#ac0d7e0be24da9f41bcb19745873c436a">data_structures::MAX_LEVEL</a> + 2)) + 1);</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> lst.<a class="code hl_function" href="../../d4/d90/classdata__structures_1_1_skip_list.html#a40a4042bdf0b6683b5f21ae7854de8a9">insertElement</a>(k, &amp;j);</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> </div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> lst.<a class="code hl_function" href="../../d4/d90/classdata__structures_1_1_skip_list.html#a812611f80b8079268dbb19cc4e9bee5c">displayList</a>();</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> </div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span>}</div>
<div class="ttc" id="aclassdata__structures_1_1_skip_list_html"><div class="ttname"><a href="../../d4/d90/classdata__structures_1_1_skip_list.html">data_structures::SkipList</a></div><div class="ttdef"><b>Definition:</b> skip_list.cpp:55</div></div>
<div class="ttc" id="aclassdata__structures_1_1_skip_list_html_a40a4042bdf0b6683b5f21ae7854de8a9"><div class="ttname"><a href="../../d4/d90/classdata__structures_1_1_skip_list.html#a40a4042bdf0b6683b5f21ae7854de8a9">data_structures::SkipList::insertElement</a></div><div class="ttdeci">void insertElement(int key, void *value)</div><div class="ttdef"><b>Definition:</b> skip_list.cpp:90</div></div>
<div class="ttc" id="aclassdata__structures_1_1_skip_list_html_a812611f80b8079268dbb19cc4e9bee5c"><div class="ttname"><a href="../../d4/d90/classdata__structures_1_1_skip_list.html#a812611f80b8079268dbb19cc4e9bee5c">data_structures::SkipList::displayList</a></div><div class="ttdeci">void displayList()</div><div class="ttdef"><b>Definition:</b> skip_list.cpp:191</div></div>
@@ -203,7 +202,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="../../dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html">data_structures</a></li><li class="navelem"><a class="el" href="../../d0/d5a/skip__list_8cpp.html">skip_list.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </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>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
var skip__list_8cpp =
[
[ "Node", "d9/d49/structdata__structures_1_1_node.html", "d9/d49/structdata__structures_1_1_node" ],
[ "SkipList", "d4/d90/classdata__structures_1_1_skip_list.html", "d4/d90/classdata__structures_1_1_skip_list" ],
[ "data_structures::Node", "d9/d49/structdata__structures_1_1_node.html", "d9/d49/structdata__structures_1_1_node" ],
[ "data_structures::SkipList", "d4/d90/classdata__structures_1_1_skip_list.html", "d4/d90/classdata__structures_1_1_skip_list" ],
[ "main", "d0/d5a/skip__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ],
[ "MAX_LEVEL", "d0/d5a/skip__list_8cpp.html#ac0d7e0be24da9f41bcb19745873c436a", null ],
[ "PROBABILITY", "d0/d5a/skip__list_8cpp.html#a903639d8e6f955dd8d5c263781455d61", null ]

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<svg width="461pt" height="203pt"

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<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"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<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>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -95,34 +95,26 @@ $(document).ready(function(){initNavTree('d0/d5f/classoperations__on__datastruct
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#pri-static-attribs">Static Private Attributes</a> &#124;
<a href="../../d1/d1e/classoperations__on__datastructures_1_1trie__operations_1_1_tnode-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">operations_on_datastructures::trie_operations::Tnode Class Reference</div> </div>
<div class="headertitle"><div class="title">operations_on_datastructures::trie_operations::Tnode Class Reference</div></div>
</div><!--header-->
<div class="contents">
<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="210" 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 name="pub-methods"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a6f73ac06a639956cdef90f8c8dbe9187"><td class="memItemLeft" align="right" valign="top"><a id="a6f73ac06a639956cdef90f8c8dbe9187"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Tnode</b> (const <a class="el" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html">Tnode</a> &amp;<a class="el" href="../../d5/da1/structnode.html">node</a>)</td></tr>
<tr class="memitem:a6f73ac06a639956cdef90f8c8dbe9187"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a6f73ac06a639956cdef90f8c8dbe9187">Tnode</a> (const <a class="el" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html">Tnode</a> &amp;<a class="el" href="../../d5/da1/structnode.html">node</a>)</td></tr>
<tr class="separator:a6f73ac06a639956cdef90f8c8dbe9187"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30edc883a96fda01d596eb33a8cc6194"><td class="memItemLeft" align="right" valign="top"><a id="a30edc883a96fda01d596eb33a8cc6194"></a>
<tr class="memitem:a1e710662a70560d2f1cf24e5df78ba1e"><td class="memItemLeft" align="right" valign="top"><a id="a1e710662a70560d2f1cf24e5df78ba1e" name="a1e710662a70560d2f1cf24e5df78ba1e"></a>
<a class="el" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html">Tnode</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html">Tnode</a> &amp;<a class="el" href="../../d5/da1/structnode.html">node</a>)=default</td></tr>
<tr class="separator:a30edc883a96fda01d596eb33a8cc6194"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc70a8b526aff96d49daa987f00ff252"><td class="memItemLeft" align="right" valign="top"><a id="abc70a8b526aff96d49daa987f00ff252"></a>
<tr class="separator:a1e710662a70560d2f1cf24e5df78ba1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc70a8b526aff96d49daa987f00ff252"><td class="memItemLeft" align="right" valign="top"><a id="abc70a8b526aff96d49daa987f00ff252" name="abc70a8b526aff96d49daa987f00ff252"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Tnode</b> (<a class="el" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html">Tnode</a> &amp;&amp;)=default</td></tr>
<tr class="separator:abc70a8b526aff96d49daa987f00ff252"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af58f175cd8a2d29d43b67e1fb7727807"><td class="memItemLeft" align="right" valign="top"><a id="af58f175cd8a2d29d43b67e1fb7727807"></a>
<tr class="memitem:a72c3d60c8afaf31a9b490030fa9cffb4"><td class="memItemLeft" align="right" valign="top"><a id="a72c3d60c8afaf31a9b490030fa9cffb4" name="a72c3d60c8afaf31a9b490030fa9cffb4"></a>
<a class="el" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html">Tnode</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html">Tnode</a> &amp;&amp;)=default</td></tr>
<tr class="separator:af58f175cd8a2d29d43b67e1fb7727807"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="separator:a72c3d60c8afaf31a9b490030fa9cffb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afca808362c13273ca8c8ae7d58e8eee0"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#afca808362c13273ca8c8ae7d58e8eee0">numberOfChildren</a> (<a class="el" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html">Tnode</a> *<a class="el" href="../../d5/da1/structnode.html">node</a>)</td></tr>
<tr class="memdesc:afca808362c13273ca8c8ae7d58e8eee0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to count the number of children a node in the trie has. <a href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#afca808362c13273ca8c8ae7d58e8eee0">More...</a><br /></td></tr>
<tr class="separator:afca808362c13273ca8c8ae7d58e8eee0"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -154,28 +146,124 @@ Public Member Functions</h2></td></tr>
<tr class="memdesc:aacafb8c9f3ebac7ac6c01d9645bb67b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to display the 3 suggestions with highest frequency of search hits. <a href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aacafb8c9f3ebac7ac6c01d9645bb67b6">More...</a><br /></td></tr>
<tr class="separator:aacafb8c9f3ebac7ac6c01d9645bb67b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:aa4aac1c6bed58a84472906b63f20da83"><td class="memItemLeft" align="right" valign="top"><a id="aa4aac1c6bed58a84472906b63f20da83"></a>
<tr class="memitem:aa4aac1c6bed58a84472906b63f20da83"><td class="memItemLeft" align="right" valign="top"><a id="aa4aac1c6bed58a84472906b63f20da83" name="aa4aac1c6bed58a84472906b63f20da83"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="el" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html">Tnode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>english</b></td></tr>
<tr class="separator:aa4aac1c6bed58a84472906b63f20da83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa9dab736046a4140e94bb9104074cd6"><td class="memItemLeft" align="right" valign="top"><a id="afa9dab736046a4140e94bb9104074cd6"></a>
<tr class="memitem:afa9dab736046a4140e94bb9104074cd6"><td class="memItemLeft" align="right" valign="top"><a id="afa9dab736046a4140e94bb9104074cd6" name="afa9dab736046a4140e94bb9104074cd6"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>endOfWord</b></td></tr>
<tr class="separator:afa9dab736046a4140e94bb9104074cd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bab9bb47215cd674471c94b0b448014"><td class="memItemLeft" align="right" valign="top"><a id="a7bab9bb47215cd674471c94b0b448014"></a>
<tr class="memitem:a7bab9bb47215cd674471c94b0b448014"><td class="memItemLeft" align="right" valign="top"><a id="a7bab9bb47215cd674471c94b0b448014" name="a7bab9bb47215cd674471c94b0b448014"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>frequency</b></td></tr>
<tr class="separator:a7bab9bb47215cd674471c94b0b448014"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-attribs"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-attribs" name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr class="memitem:a0f310c3d4d7b82e5ee1036771cade702"><td class="memItemLeft" align="right" valign="top"><a id="a0f310c3d4d7b82e5ee1036771cade702"></a>
<tr class="memitem:a0f310c3d4d7b82e5ee1036771cade702"><td class="memItemLeft" align="right" valign="top"><a id="a0f310c3d4d7b82e5ee1036771cade702" name="a0f310c3d4d7b82e5ee1036771cade702"></a>
static constexpr uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>ENGLISH_ALPHABET_SIZE</b> = 26</td></tr>
<tr class="separator:a0f310c3d4d7b82e5ee1036771cade702"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Class defining the structure of trie node and containing the methods to perform operations on them. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="aefd24626ac47277431c9b8604e064340"></a>
<div class="textblock"><p >Class defining the structure of trie node and containing the methods to perform operations on them. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aef1ef6608e5876312d9ae7f36f469ba7" name="aef1ef6608e5876312d9ae7f36f469ba7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef1ef6608e5876312d9ae7f36f469ba7">&#9670;&nbsp;</a></span>Tnode() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">operations_on_datastructures::trie_operations::Tnode::Tnode </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</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><!-- fragment -->
</div>
</div>
<a id="a6f73ac06a639956cdef90f8c8dbe9187" name="a6f73ac06a639956cdef90f8c8dbe9187"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f73ac06a639956cdef90f8c8dbe9187">&#9670;&nbsp;</a></span>Tnode() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">operations_on_datastructures::trie_operations::Tnode::Tnode </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html">Tnode</a> &amp;&#160;</td>
<td class="paramname"><em>node</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</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="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>
</div>
<a id="a5f02156cd1a2a1ba48fb6ba2283afbf1" name="a5f02156cd1a2a1ba48fb6ba2283afbf1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f02156cd1a2a1ba48fb6ba2283afbf1">&#9670;&nbsp;</a></span>~Tnode()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">operations_on_datastructures::trie_operations::Tnode::~Tnode </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</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><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aefd24626ac47277431c9b8604e064340" name="aefd24626ac47277431c9b8604e064340"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefd24626ac47277431c9b8604e064340">&#9670;&nbsp;</a></span>Delete()</h2>
<div class="memitem">
@@ -198,66 +286,66 @@ static constexpr uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>E
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; {</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; Tnode *cur_pos = <span class="keyword">this</span>,</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; *delete_from = <span class="keyword">this</span>; <span class="comment">// Current pointer pointing to root</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordtype">int</span> letter_index = 0, delete_from_index = 0, i = 0, n = entry.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">size</a>();</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; </div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">for</span> (i = 0; i &lt; n; i++) {</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="comment">// To ignore case</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; letter_index = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(entry[i]) - 97;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; </div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="comment">// Display error message when given entry is not present in the tree</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">if</span> (cur_pos-&gt;english[letter_index] == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="codeRef" 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="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; }</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="comment">// If the current node is end of word for the current prefix or if it</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="comment">// has 2 or more branches It cannot be deleted while deleting the</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="comment">// required entry.</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">if</span> (<a class="code" 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 name="l00168"></a><span class="lineno"> 168</span>&#160; delete_from = cur_pos; <span class="comment">// denotes the beginning of the shortest</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="comment">// suffix that is allowed to be deleted</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; delete_from_index = i - 1; <span class="comment">// Beginning index of the suffix</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="comment">// corresponding to the &#39;entry&#39;</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; }</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; </div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="comment">// Traversing through the entry</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; cur_pos = cur_pos-&gt;english[letter_index];</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; </div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// cur_pos now points to the last char of entry. Display message if that</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="comment">// entry does not exist</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">if</span> (!cur_pos-&gt;endOfWord) {</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="codeRef" 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="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; </div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <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 name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="comment">// frequency for deletion</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#afca808362c13273ca8c8ae7d58e8eee0">numberOfChildren</a>(cur_pos)) {</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; cur_pos-&gt;endOfWord = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; cur_pos-&gt;frequency = 0;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; }</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; </div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="comment">// The first character of the suffix to be deleted</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; letter_index = <a class="codeRef" 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 name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="comment">// Point cur_pos to the next node</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; cur_pos = delete_from-&gt;english[letter_index];</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="comment">// Sever the connection from the main trie</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; delete_from-&gt;english[letter_index] = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; </div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="comment">// If number of characters in the suffix are more than 1, recursively delete</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="comment">// each character starting from cur_pos using the helper function</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">if</span> (n &gt; delete_from_index + 2) {</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" 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 name="l00204"></a><span class="lineno"> 204</span>&#160; }</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="comment">// If the suffix is only 1 char in length</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keyword">delete</span> cur_pos;</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;}</div>
<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="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>
@@ -267,13 +355,13 @@ static constexpr uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>E
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph.svg" width="615" height="248"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph.svg" width="615" height="272"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="adef6940391f981ab86767775176b7169"></a>
<a id="adef6940391f981ab86767775176b7169" name="adef6940391f981ab86767775176b7169"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adef6940391f981ab86767775176b7169">&#9670;&nbsp;</a></span>DeleteFrom()</h2>
<div class="memitem">
@@ -314,26 +402,26 @@ Here is the call graph for this function:</div>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; {</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">if</span> (delete_string.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">size</a>() == remove_index) {</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordtype">int</span> letter_index = <a class="codeRef" 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 name="l00138"></a><span class="lineno"> 138</span>&#160; </div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" 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 name="l00140"></a><span class="lineno"> 140</span>&#160; remove_index + 1);</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; </div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keyword">delete</span> delete_from;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;}</div>
<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><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph.svg" width="368" height="67"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph.svg" width="368" height="91"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a7ecb75b985b1ffc575a880274f855b1c"></a>
<a id="a7ecb75b985b1ffc575a880274f855b1c" name="a7ecb75b985b1ffc575a880274f855b1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ecb75b985b1ffc575a880274f855b1c">&#9670;&nbsp;</a></span>Insert()</h2>
<div class="memitem">
@@ -356,29 +444,29 @@ Here is the call graph for this function:</div>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; {</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; Tnode *cur_pos = <span class="keyword">this</span>;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordtype">int</span> letter_index = 0;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;i : entry) {</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="comment">// To ignore case</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; letter_index = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i) - 97;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="comment">// Allocate a node for each character of entry if not present in the</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="comment">// trie</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">if</span> (cur_pos-&gt;english[letter_index] == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; cur_pos-&gt;english[letter_index] = <span class="keyword">new</span> Tnode();</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; </div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; cur_pos = cur_pos-&gt;english[letter_index];</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="comment">// cur_pos points to the last char, mark it as end of word</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; cur_pos-&gt;endOfWord = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;}</div>
<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><!-- fragment -->
</div>
</div>
<a id="afca808362c13273ca8c8ae7d58e8eee0"></a>
<a id="afca808362c13273ca8c8ae7d58e8eee0" name="afca808362c13273ca8c8ae7d58e8eee0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afca808362c13273ca8c8ae7d58e8eee0">&#9670;&nbsp;</a></span>numberOfChildren()</h2>
<div class="memitem">
@@ -410,12 +498,11 @@ 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 name="l00069"></a><span class="lineno"> 69</span>&#160; {</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">return</span> ENGLISH_ALPHABET_SIZE -</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/count.html">std::count</a>(<a class="code" href="../../d5/da1/structnode.html">node</a>-&gt;english.begin(), <a class="code" href="../../d5/da1/structnode.html">node</a>-&gt;english.end(), <span class="keyword">nullptr</span>);</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div>
<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="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 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 class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -425,7 +512,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a7c5ab271d8042540f64ef16d259d1503"></a>
<a id="a7c5ab271d8042540f64ef16d259d1503" name="a7c5ab271d8042540f64ef16d259d1503"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c5ab271d8042540f64ef16d259d1503">&#9670;&nbsp;</a></span>SearchFreqSuggestions()</h2>
<div class="memitem">
@@ -448,56 +535,56 @@ Here is the call graph for this function:</div>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; {</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; Tnode *cur_pos = <span class="keyword">nullptr</span>, *prev_pos = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; cur_pos = prev_pos = <span class="keyword">this</span>; <span class="comment">// maintaining 2 pointers, initialized to root</span></div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordtype">int</span> letter_index = 0;</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> prefix =</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="stringliteral">&quot;&quot;</span>; <span class="comment">// variable storing the updated value of longest common prefix</span></div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <a class="codeRef" 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 name="l00372"></a><span class="lineno"> 372</span>&#160; suggestions; <span class="comment">// max heap to store (frequency, word) in descending order</span></div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="comment">// of freq</span></div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; </div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <a class="codeRef" 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 name="l00376"></a><span class="lineno"> 376</span>&#160; &amp;suggestions;</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; </div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;i : key) {</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; letter_index = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i) - 97;</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; prev_pos = cur_pos; <span class="comment">// Previous pointer updated to point to the last</span></div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="comment">// char of the longest common prefix</span></div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; </div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="comment">// When the node for the character does not exist, longest prefix has</span></div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="comment">// been determined and SuggestFreqAutocomplete is called</span></div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">if</span> (cur_pos-&gt;english[letter_index] == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <a class="code" 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 name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="comment">// To display the top 3 results</span></div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <a class="code" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aacafb8c9f3ebac7ac6c01d9645bb67b6">SelectionTop_3</a>(Suggestions);</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <a class="codeRef" 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 name="l00390"></a><span class="lineno"> 390</span>&#160; &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; }</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="comment">// Updating the longest common prefix</span></div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; prefix += char(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i));</div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; cur_pos = cur_pos-&gt;english[letter_index];</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="comment">// If the key is a valid entry of trie, display it @ top of the suggestions</span></div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">if</span> (cur_pos-&gt;endOfWord) {</div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; (cur_pos-&gt;frequency)++;</div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; key &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; }</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; </div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; (void)prev_pos; <span class="comment">// Idiom to ignore previous pointer</span></div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; </div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="comment">// Call for Suggestions when the search key is present as an entry/a prefix</span></div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="comment">// in the trie</span></div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <a class="code" 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 name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="comment">// Display the top 3 results</span></div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <a class="code" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aacafb8c9f3ebac7ac6c01d9645bb67b6">SelectionTop_3</a>(Suggestions);</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; </div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <a class="codeRef" 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 name="l00412"></a><span class="lineno"> 412</span>&#160; &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;}</div>
<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="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>
@@ -505,13 +592,13 @@ Here is the call graph for this function:</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph.svg" width="614" height="166"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph.svg" width="614" height="190"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a4a624fcdf3c3beb2025d69f2cfda8023"></a>
<a id="a4a624fcdf3c3beb2025d69f2cfda8023" name="a4a624fcdf3c3beb2025d69f2cfda8023"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a624fcdf3c3beb2025d69f2cfda8023">&#9670;&nbsp;</a></span>SearchPresence()</h2>
<div class="memitem">
@@ -537,31 +624,31 @@ 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 name="l00217"></a><span class="lineno"> 217</span>&#160; {</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; Tnode *cur_pos = <span class="keyword">this</span>;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordtype">int</span> letter_index = 0;</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; </div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;i : key) {</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; letter_index = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i) - 97;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="comment">// If any character in the order of the key is absent, word not found!</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">if</span> (cur_pos-&gt;english[letter_index] == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; }</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; cur_pos = cur_pos-&gt;english[letter_index];</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; }</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <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 name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="comment">// not just a prefix.</span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">if</span> (cur_pos-&gt;endOfWord) {</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; (cur_pos-&gt;frequency)++;</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;}</div>
<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><!-- fragment -->
</div>
</div>
<a id="a18b70172ca4fb2811dbfb9a86e48b34c"></a>
<a id="a18b70172ca4fb2811dbfb9a86e48b34c" name="a18b70172ca4fb2811dbfb9a86e48b34c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18b70172ca4fb2811dbfb9a86e48b34c">&#9670;&nbsp;</a></span>SearchSuggestions()</h2>
<div class="memitem">
@@ -584,56 +671,56 @@ false if the key is not found </dd></dl>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; {</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; Tnode *cur_pos = <span class="keyword">nullptr</span>, *prev_pos = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; cur_pos = prev_pos = <span class="keyword">this</span>; <span class="comment">// maintaining 2 pointers, initialized to root</span></div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordtype">int</span> letter_index = 0;</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> prefix =</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="stringliteral">&quot;&quot;</span>; <span class="comment">// variable storing the updated value of longest common prefix</span></div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; </div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;i : key) {</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; letter_index = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i) - 97;</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; prev_pos = cur_pos; <span class="comment">// Previous pointer updated to point to the last</span></div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="comment">// char of the longest common prefix</span></div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; </div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="comment">// When the node for the character does not exist, longest prefix has</span></div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="comment">// been determined and SuggestAutocomplete is called</span></div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">if</span> (cur_pos-&gt;english[letter_index] == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <a class="code" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a097913c4badec2b60d50a171ecc299fe">SuggestAutocomplete</a>(prev_pos, prefix);</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <a class="codeRef" 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 name="l00288"></a><span class="lineno"> 288</span>&#160; &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; }</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="comment">// Updating the longest common prefix</span></div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; prefix += char(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/tolower.html">tolower</a>(i));</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; cur_pos = cur_pos-&gt;english[letter_index];</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; }</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="comment">// If the key is a valid entry of trie, display it @ top of the suggestions</span></div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">if</span> (cur_pos-&gt;endOfWord) {</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; key &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; (cur_pos-&gt;frequency)++;</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; }</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; </div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; (void)prev_pos; <span class="comment">// Idiom to ignore previous pointer</span></div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; </div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="comment">// Call for suggestions when the search key is present as an entry/a prefix</span></div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="comment">// in the trie</span></div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a097913c4badec2b60d50a171ecc299fe">SuggestAutocomplete</a>(cur_pos, prefix);</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="codeRef" 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 name="l00307"></a><span class="lineno"> 307</span>&#160; &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;}</div>
<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="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>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph.svg" width="576" height="99"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph.svg" width="576" height="111"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="aacafb8c9f3ebac7ac6c01d9645bb67b6"></a>
<a id="aacafb8c9f3ebac7ac6c01d9645bb67b6" name="aacafb8c9f3ebac7ac6c01d9645bb67b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacafb8c9f3ebac7ac6c01d9645bb67b6">&#9670;&nbsp;</a></span>SelectionTop_3()</h2>
<div class="memitem">
@@ -656,15 +743,15 @@ Here is the call graph for this function:</div>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; {</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="comment">// Display Either top 3 or total number of suggestions, whichever is smaller</span></div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordtype">int</span> n = suggestions-&gt;<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/size.html">size</a>(), Top = 0;</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; Top = n &lt; 3 ? n : 3;</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">while</span> (Top--) {</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; suggestions-&gt;<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/top.html">top</a>().second &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; suggestions-&gt;<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/pop.html">pop</a>();</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; }</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;}</div>
<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="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">
@@ -676,7 +763,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a097913c4badec2b60d50a171ecc299fe"></a>
<a id="a097913c4badec2b60d50a171ecc299fe" name="a097913c4badec2b60d50a171ecc299fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a097913c4badec2b60d50a171ecc299fe">&#9670;&nbsp;</a></span>SuggestAutocomplete()</h2>
<div class="memitem">
@@ -710,32 +797,32 @@ Here is the call graph for this function:</div>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; {</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="comment">// Iterate through all 26 nodes as we have to print all strings with the</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="comment">// given prefix</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordtype">int</span> i = 0;</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">for</span> (i = 0; i &lt; ENGLISH_ALPHABET_SIZE; i++) {</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">if</span> (new_root-&gt;english[i] != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="comment">// Print the sugestion only if it&#39;s a valid complete entry and not</span></div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="comment">// just a prefix</span></div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">if</span> (new_root-&gt;english[i]-&gt;endOfWord) {</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="codeRef" 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="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; }</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; </div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <a class="code" 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 name="l00259"></a><span class="lineno"> 259</span>&#160; }</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; }</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;}</div>
<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><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph.svg" width="330" height="67"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph.svg" width="330" height="91"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a9e556f52c837190ecf4265b1f05cfe9c"></a>
<a id="a9e556f52c837190ecf4265b1f05cfe9c" name="a9e556f52c837190ecf4265b1f05cfe9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e556f52c837190ecf4265b1f05cfe9c">&#9670;&nbsp;</a></span>SuggestFreqAutocomplete()</h2>
<div class="memitem">
@@ -776,28 +863,28 @@ Here is the call graph for this function:</div>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; {</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordtype">int</span> i = 0;</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">for</span> (i = 0; i &lt; ENGLISH_ALPHABET_SIZE; i++) {</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">if</span> (new_root-&gt;english[i] != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="comment">// Add to sugestions only if it&#39;s a valid complete entry and not</span></div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="comment">// just a prefix</span></div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">if</span> (new_root-&gt;english[i]-&gt;endOfWord) {</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; suggestions-&gt;<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/push.html">push</a>(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html">std::make_pair</a>(</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; new_root-&gt;english[i]-&gt;frequency, prefix + <span class="keywordtype">char</span>(i + 97)));</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; }</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; </div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <a class="code" 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 name="l00351"></a><span class="lineno"> 351</span>&#160; suggestions);</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; }</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; }</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;}</div>
<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="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">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph.svg" width="367" height="67"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph.svg" width="367" height="91"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
@@ -812,7 +899,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.1 </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>
</ul>
</div>
</body>

View File

@@ -1,23 +1,13 @@
var classoperations__on__datastructures_1_1trie__operations_1_1_tnode =
[
[ "Tnode", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aef1ef6608e5876312d9ae7f36f469ba7", null ],
[ "Tnode", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a6f73ac06a639956cdef90f8c8dbe9187", null ],
[ "Tnode", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#abc70a8b526aff96d49daa987f00ff252", null ],
[ "~Tnode", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a5f02156cd1a2a1ba48fb6ba2283afbf1", null ],
[ "Delete", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aefd24626ac47277431c9b8604e064340", null ],
[ "DeleteFrom", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#adef6940391f981ab86767775176b7169", null ],
[ "Insert", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a7ecb75b985b1ffc575a880274f855b1c", null ],
[ "numberOfChildren", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#afca808362c13273ca8c8ae7d58e8eee0", null ],
[ "operator=", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a30edc883a96fda01d596eb33a8cc6194", null ],
[ "operator=", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#af58f175cd8a2d29d43b67e1fb7727807", null ],
[ "SearchFreqSuggestions", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a7c5ab271d8042540f64ef16d259d1503", null ],
[ "SearchPresence", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a4a624fcdf3c3beb2025d69f2cfda8023", null ],
[ "SearchSuggestions", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a18b70172ca4fb2811dbfb9a86e48b34c", null ],
[ "SelectionTop_3", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aacafb8c9f3ebac7ac6c01d9645bb67b6", null ],
[ "SuggestAutocomplete", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a097913c4badec2b60d50a171ecc299fe", null ],
[ "SuggestFreqAutocomplete", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a9e556f52c837190ecf4265b1f05cfe9c", null ],
[ "endOfWord", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#afa9dab736046a4140e94bb9104074cd6", null ],
[ "english", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aa4aac1c6bed58a84472906b63f20da83", null ],
[ "ENGLISH_ALPHABET_SIZE", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a0f310c3d4d7b82e5ee1036771cade702", null ],
[ "frequency", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a7bab9bb47215cd674471c94b0b448014", null ]
[ "SuggestFreqAutocomplete", "d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a9e556f52c837190ecf4265b1f05cfe9c", null ]
];

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,5,204,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="252,20,324,47"/>
<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,204,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="252,44,324,71"/>
</map>

View File

@@ -1 +1 @@
4dc362092b725827593070a06bc92802
270bc1db15b7a22c08b636bad4651395

View File

@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: operations_on_datastructures::trie_operations::Tnode::SuggestAutocomplete Pages: 1 -->
<svg width="247pt" height="50pt"
viewBox="0.00 0.00 247.00 50.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 46)">
<svg width="247pt" height="68pt"
viewBox="0.00 0.00 247.00 68.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 64)">
<title>operations_on_datastructures::trie_operations::Tnode::SuggestAutocomplete</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-46 243,-46 243,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-64 243,-64 243,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
@@ -20,6 +20,12 @@
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M49.5,-41.86C46.78,-51.54 55.11,-60 74.5,-60 86.62,-60 94.42,-56.7 97.9,-51.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="101.37,-52.29 99.5,-41.86 94.46,-51.19 101.37,-52.29"/>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>

Before

Width:  |  Height:  |  Size: 2.1 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,204,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="499,20,571,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="252,37,451,93"/>
<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="252,49,451,105"/>
</map>

View File

@@ -1 +1 @@
1b56d965ec89882e03d1dfdfc45b1f5b
c2b800c820352a7d9889647592d0345d

View File

@@ -1,22 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: operations_on_datastructures::trie_operations::Tnode::SearchSuggestions Pages: 1 -->
<svg width="432pt" height="74pt"
viewBox="0.00 0.00 432.00 74.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 70)">
<svg width="432pt" height="83pt"
viewBox="0.00 0.00 432.00 83.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 79)">
<title>operations_on_datastructures::trie_operations::Tnode::SearchSuggestions</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-70 428,-70 428,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-79 428,-79 428,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Lists out all the words in trie with the longest prefix of the search key that is present in the trie...">
<polygon fill="#bfbfbf" stroke="black" points="0,-24.5 0,-65.5 149,-65.5 149,-24.5 0,-24.5"/>
<text text-anchor="start" x="8" y="-53.5" font-family="Helvetica,sans-Serif" font-size="10.00">operations_on_datastructures</text>
<text text-anchor="start" x="8" y="-42.5" font-family="Helvetica,sans-Serif" font-size="10.00">::trie_operations::Tnode</text>
<text text-anchor="middle" x="74.5" y="-31.5" font-family="Helvetica,sans-Serif" font-size="10.00">::SearchSuggestions</text>
<polygon fill="#bfbfbf" stroke="black" points="0,-33.5 0,-74.5 149,-74.5 149,-33.5 0,-33.5"/>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">operations_on_datastructures</text>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">::trie_operations::Tnode</text>
<text text-anchor="middle" x="74.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">::SearchSuggestions</text>
</a>
</g>
</g>
@@ -24,16 +24,16 @@
<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=" ">
<polygon fill="white" stroke="black" points="370,-35.5 370,-54.5 424,-54.5 424,-35.5 370,-35.5"/>
<text text-anchor="middle" x="397" y="-42.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
<polygon fill="white" stroke="black" points="370,-44.5 370,-63.5 424,-63.5 424,-44.5 370,-44.5"/>
<text text-anchor="middle" x="397" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M149.1,-49.59C161.1,-50.18 173.39,-50.68 185,-51 251.2,-52.81 267.85,-54.19 334,-51 342.37,-50.6 351.35,-49.89 359.81,-49.09"/>
<polygon fill="midnightblue" stroke="midnightblue" points="360.19,-52.57 369.79,-48.1 359.5,-45.61 360.19,-52.57"/>
<path fill="none" stroke="midnightblue" d="M149.28,-65.5C161.19,-66.96 173.42,-68.21 185,-69 251.07,-73.5 268.24,-76.84 334,-69 342.44,-67.99 351.4,-66.24 359.8,-64.28"/>
<polygon fill="midnightblue" stroke="midnightblue" points="360.84,-67.63 369.7,-61.82 359.15,-60.84 360.84,-67.63"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
@@ -49,14 +49,20 @@
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M149.14,-35.34C157.57,-34.24 166.2,-33.11 174.74,-31.98"/>
<polygon fill="midnightblue" stroke="midnightblue" points="175.25,-35.45 184.71,-30.68 174.34,-28.51 175.25,-35.45"/>
<path fill="none" stroke="midnightblue" d="M149.14,-40.72C157.57,-39.2 166.2,-37.64 174.74,-36.1"/>
<polygon fill="midnightblue" stroke="midnightblue" points="175.49,-39.53 184.71,-34.31 174.25,-32.64 175.49,-39.53"/>
</g>
<!-- Node3&#45;&gt;Node2 -->
<g id="edge3" class="edge">
<title>Node3&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M334.2,-34.05C343.09,-35.63 351.84,-37.18 359.84,-38.59"/>
<polygon fill="midnightblue" stroke="midnightblue" points="359.41,-42.07 369.86,-40.37 360.63,-35.18 359.41,-42.07"/>
<path fill="none" stroke="midnightblue" d="M334.2,-38.95C343.19,-41.14 352.04,-43.29 360.11,-45.26"/>
<polygon fill="midnightblue" stroke="midnightblue" points="359.32,-48.67 369.86,-47.63 360.98,-41.87 359.32,-48.67"/>
</g>
<!-- Node3&#45;&gt;Node3 -->
<g id="edge4" class="edge">
<title>Node3&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M234.5,-41.86C231.78,-51.54 240.11,-60 259.5,-60 271.62,-60 279.42,-56.7 282.9,-51.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="286.37,-52.29 284.5,-41.86 279.46,-51.19 286.37,-52.29"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -2,6 +2,6 @@
<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,204,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="517,6,589,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="252,24,451,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="252,104,451,160"/>
<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="499,118,608,145"/>
<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="252,128,451,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="499,142,608,169"/>
</map>

View File

@@ -1 +1 @@
9560fdc5328217f634d0b9e15b5d4a83
84ab290794e554d0cab82e3e564daaa0

View File

@@ -1,22 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: operations_on_datastructures::trie_operations::Tnode::SearchFreqSuggestions Pages: 1 -->
<svg width="460pt" height="124pt"
viewBox="0.00 0.00 460.00 123.71" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 119.71)">
<svg width="460pt" height="142pt"
viewBox="0.00 0.00 460.00 141.71" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 137.71)">
<title>operations_on_datastructures::trie_operations::Tnode::SearchFreqSuggestions</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-119.71 456,-119.71 456,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-137.71 456,-137.71 456,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Lists out the most frequent words in trie with the longest prefix of the search key that is present i...">
<polygon fill="#bfbfbf" stroke="black" points="0,-60.5 0,-101.5 149,-101.5 149,-60.5 0,-60.5"/>
<text text-anchor="start" x="8" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">operations_on_datastructures</text>
<text text-anchor="start" x="8" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">::trie_operations::Tnode</text>
<text text-anchor="middle" x="74.5" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">::SearchFreqSuggestions</text>
<polygon fill="#bfbfbf" stroke="black" points="0,-78.5 0,-119.5 149,-119.5 149,-78.5 0,-78.5"/>
<text text-anchor="start" x="8" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">operations_on_datastructures</text>
<text text-anchor="start" x="8" y="-96.5" font-family="Helvetica,sans-Serif" font-size="10.00">::trie_operations::Tnode</text>
<text text-anchor="middle" x="74.5" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00">::SearchFreqSuggestions</text>
</a>
</g>
</g>
@@ -24,33 +24,33 @@
<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=" ">
<polygon fill="white" stroke="black" points="384,-95.5 384,-114.5 438,-114.5 438,-95.5 384,-95.5"/>
<text text-anchor="middle" x="411" y="-102.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
<polygon fill="white" stroke="black" points="384,-113.5 384,-132.5 438,-132.5 438,-113.5 384,-113.5"/>
<text text-anchor="middle" x="411" y="-120.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M139.18,-101.52C154.06,-105.46 169.96,-108.98 185,-111 250.63,-119.83 267.83,-113.61 334,-111 346.92,-110.49 361.04,-109.5 373.56,-108.46"/>
<polygon fill="midnightblue" stroke="midnightblue" points="373.99,-111.94 383.65,-107.59 373.39,-104.96 373.99,-111.94"/>
<path fill="none" stroke="midnightblue" d="M139.18,-119.52C154.06,-123.46 169.96,-126.98 185,-129 250.63,-137.83 267.83,-131.61 334,-129 346.92,-128.49 361.04,-127.5 373.56,-126.46"/>
<polygon fill="midnightblue" stroke="midnightblue" points="373.99,-129.94 383.65,-125.59 373.39,-122.96 373.99,-129.94"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aacafb8c9f3ebac7ac6c01d9645bb67b6" target="_top" xlink:title="Function to display the 3 suggestions with highest frequency of search hits.">
<polygon fill="white" stroke="black" points="185,-60.5 185,-101.5 334,-101.5 334,-60.5 185,-60.5"/>
<text text-anchor="start" x="193" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">operations_on_datastructures</text>
<text text-anchor="start" x="193" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">::trie_operations::Tnode</text>
<text text-anchor="middle" x="259.5" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">::SelectionTop_3</text>
<polygon fill="white" stroke="black" points="185,-78.5 185,-119.5 334,-119.5 334,-78.5 185,-78.5"/>
<text text-anchor="start" x="193" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">operations_on_datastructures</text>
<text text-anchor="start" x="193" y="-96.5" font-family="Helvetica,sans-Serif" font-size="10.00">::trie_operations::Tnode</text>
<text text-anchor="middle" x="259.5" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00">::SelectionTop_3</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M149.14,-81C157.47,-81 166.01,-81 174.46,-81"/>
<polygon fill="midnightblue" stroke="midnightblue" points="174.71,-84.5 184.71,-81 174.71,-77.5 174.71,-84.5"/>
<path fill="none" stroke="midnightblue" d="M149.14,-99C157.47,-99 166.01,-99 174.46,-99"/>
<polygon fill="midnightblue" stroke="midnightblue" points="174.71,-102.5 184.71,-99 174.71,-95.5 174.71,-102.5"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
@@ -66,14 +66,20 @@
<!-- Node1&#45;&gt;Node4 -->
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M138.22,-60.44C153.65,-55.38 170.28,-49.92 186.12,-44.73"/>
<polygon fill="midnightblue" stroke="midnightblue" points="187.45,-47.98 195.86,-41.54 185.27,-41.33 187.45,-47.98"/>
<path fill="none" stroke="midnightblue" d="M124.06,-78.3C147.72,-68.22 176.34,-56.02 201.07,-45.48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="202.52,-48.66 210.35,-41.52 199.78,-42.23 202.52,-48.66"/>
</g>
<!-- Node3&#45;&gt;Node2 -->
<g id="edge3" class="edge">
<title>Node3&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M334.37,-92.86C348.14,-95.07 361.95,-97.29 373.93,-99.21"/>
<polygon fill="midnightblue" stroke="midnightblue" points="373.51,-102.69 383.94,-100.82 374.62,-95.78 373.51,-102.69"/>
<path fill="none" stroke="midnightblue" d="M334.37,-110.86C348.14,-113.07 361.95,-115.29 373.93,-117.21"/>
<polygon fill="midnightblue" stroke="midnightblue" points="373.51,-120.69 383.94,-118.82 374.62,-113.78 373.51,-120.69"/>
</g>
<!-- Node4&#45;&gt;Node4 -->
<g id="edge6" class="edge">
<title>Node4&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M231.93,-41.86C228.92,-51.54 238.11,-60 259.5,-60 272.87,-60 281.47,-56.7 285.31,-51.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="288.78,-52.32 287.07,-41.86 281.89,-51.1 288.78,-52.32"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">

Before

Width:  |  Height:  |  Size: 5.5 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,5,204,61"/>
<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="252,20,361,47"/>
<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,204,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="252,44,361,71"/>
</map>

View File

@@ -1 +1 @@
7d072479b315bff761932d5892d062f3
896cfcadabf7afb2d9202c9550110287

View File

@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: operations_on_datastructures::trie_operations::Tnode::SuggestFreqAutocomplete Pages: 1 -->
<svg width="275pt" height="50pt"
viewBox="0.00 0.00 275.00 50.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 46)">
<svg width="275pt" height="68pt"
viewBox="0.00 0.00 275.00 68.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 64)">
<title>operations_on_datastructures::trie_operations::Tnode::SuggestFreqAutocomplete</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-46 271,-46 271,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-64 271,-64 271,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
@@ -20,6 +20,12 @@
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M46.93,-41.86C43.92,-51.54 53.11,-60 74.5,-60 87.87,-60 96.47,-56.7 100.31,-51.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="103.78,-52.32 102.07,-41.86 96.89,-51.1 103.78,-52.32"/>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: operations_on_datastructures::trie_operations::Tnode::SelectionTop_3 Pages: 1 -->
<svg width="247pt" height="50pt"

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,5,204,61"/>
<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="252,20,363,47"/>
<area shape="rect" id="node1" title="Function recursively deletes the substring character by character iterating through the string to be ..." alt="" coords="5,29,204,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="252,44,363,71"/>
</map>

View File

@@ -1 +1 @@
de89ac9917d9bdc55b999049ad92c6e6
ab250400f33229485d9c85b5013a1515

View File

@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: operations_on_datastructures::trie_operations::Tnode::DeleteFrom Pages: 1 -->
<svg width="276pt" height="50pt"
viewBox="0.00 0.00 276.00 50.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 46)">
<svg width="276pt" height="68pt"
viewBox="0.00 0.00 276.00 68.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 64)">
<title>operations_on_datastructures::trie_operations::Tnode::DeleteFrom</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-46 272,-46 272,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-64 272,-64 272,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
@@ -20,6 +20,12 @@
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M46.56,-41.86C43.52,-51.54 52.83,-60 74.5,-60 88.04,-60 96.76,-56.7 100.65,-51.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="104.12,-52.32 102.44,-41.86 97.23,-51.09 104.12,-52.32"/>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
@@ -30,7 +36,7 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M149.18,-21C157.83,-21 166.5,-21 174.73,-21"/>
<polygon fill="midnightblue" stroke="midnightblue" points="174.9,-24.5 184.9,-21 174.9,-17.5 174.9,-24.5"/>

Before

Width:  |  Height:  |  Size: 2.1 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,96,204,152"/>
<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="252,5,451,61"/>
<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="499,53,609,80"/>
<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="315,136,387,163"/>
<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="252,187,451,243"/>
<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="514,201,594,228"/>
<area shape="rect" id="node1" title="Function to verify presence and hence delete an entry from the trie." alt="" coords="5,120,204,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="252,29,451,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="499,77,609,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="315,160,387,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="252,211,451,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="514,225,594,252"/>
</map>

View File

@@ -1 +1 @@
be1f9f8c5aeb532103bd014af22fc6fd
826521cf28b67c6d7ee998ab138e9f2a

View File

@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: operations_on_datastructures::trie_operations::Tnode::Delete Pages: 1 -->
<svg width="461pt" height="186pt"
viewBox="0.00 0.00 461.00 186.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 182)">
<svg width="461pt" height="204pt"
viewBox="0.00 0.00 461.00 204.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 200)">
<title>operations_on_datastructures::trie_operations::Tnode::Delete</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-182 457,-182 457,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-200 457,-200 457,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
@@ -47,7 +47,7 @@
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge6" class="edge">
<g id="edge7" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M149.02,-98.44C212.84,-106.63 303.58,-118.28 359.66,-125.47"/>
<polygon fill="midnightblue" stroke="midnightblue" points="359.35,-128.96 369.72,-126.76 360.24,-122.02 359.35,-128.96"/>
@@ -62,7 +62,7 @@
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M149.14,-81.35C174.29,-78.74 201.31,-75.94 222.2,-73.77"/>
<polygon fill="midnightblue" stroke="midnightblue" points="222.64,-77.24 232.23,-72.73 221.92,-70.28 222.64,-77.24"/>
@@ -79,13 +79,19 @@
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge5" class="edge">
<title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M130.9,-68.41C150.7,-61.06 173.18,-52.7 193.7,-45.08"/>
<polygon fill="midnightblue" stroke="midnightblue" points="195.13,-48.28 203.29,-41.52 192.69,-41.72 195.13,-48.28"/>
</g>
<!-- Node2&#45;&gt;Node3 -->
<!-- Node2&#45;&gt;Node2 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M231.56,-177.86C228.52,-187.54 237.83,-196 259.5,-196 273.04,-196 281.76,-192.7 285.65,-187.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="289.12,-188.32 287.44,-177.86 282.23,-187.09 289.12,-188.32"/>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge3" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M334.18,-144.72C342.93,-143.26 351.69,-141.8 360.01,-140.42"/>
<polygon fill="midnightblue" stroke="midnightblue" points="360.61,-143.86 369.9,-138.77 359.46,-136.96 360.61,-143.86"/>
@@ -100,7 +106,7 @@
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge6" class="edge">
<title>Node5&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M334.18,-21C347,-21 359.87,-21 371.3,-21"/>
<polygon fill="midnightblue" stroke="midnightblue" points="371.34,-24.5 381.34,-21 371.34,-17.5 371.34,-24.5"/>

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: operations_on_datastructures::trie_operations::Tnode::numberOfChildren Pages: 1 -->
<svg width="253pt" height="50pt"

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: hashing/quadratic_probing_hash_table.cpp Pages: 1 -->
<svg width="188pt" height="95pt"

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<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>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('dc/db5/struct_queue.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,29 +90,28 @@ $(document).ready(function(){initNavTree('dc/db5/struct_queue.html','../../'); i
</div>
<div class="header">
<div class="headertitle">
<div class="title">Queue Member List</div> </div>
<div class="headertitle"><div class="title">Queue Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>createNode</b>(int val) (defined in <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>)</td><td class="entry"><a class="el" href="../../dc/db5/struct_queue.html">Queue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>dequeue</b>() (defined in <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>)</td><td class="entry"><a class="el" href="../../dc/db5/struct_queue.html">Queue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>dequeue</b>() (defined in <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>)</td><td class="entry"><a class="el" href="../../dc/db5/struct_queue.html">Queue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>enqueue</b>(int val) (defined in <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>)</td><td class="entry"><a class="el" href="../../dc/db5/struct_queue.html">Queue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>front</b> (defined in <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>)</td><td class="entry"><a class="el" href="../../dc/db5/struct_queue.html">Queue</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>front</b> (defined in <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>)</td><td class="entry"><a class="el" href="../../dc/db5/struct_queue.html">Queue</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>front</b> (defined in <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>)</td><td class="entry"><a class="el" href="../../dc/db5/struct_queue.html">Queue</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Queue</b>()=default (defined in <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>)</td><td class="entry"><a class="el" href="../../dc/db5/struct_queue.html">Queue</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>Queue</b>()=default (defined in <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>)</td><td class="entry"><a class="el" href="../../dc/db5/struct_queue.html">Queue</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>rear</b> (defined in <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>)</td><td class="entry"><a class="el" href="../../dc/db5/struct_queue.html">Queue</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>rear</b> (defined in <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>)</td><td class="entry"><a class="el" href="../../dc/db5/struct_queue.html">Queue</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>rear</b> (defined in <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>)</td><td class="entry"><a class="el" href="../../dc/db5/struct_queue.html">Queue</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>t</b> (defined in <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>)</td><td class="entry"><a class="el" href="../../dc/db5/struct_queue.html">Queue</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>traverse</b>() (defined in <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>)</td><td class="entry"><a class="el" href="../../dc/db5/struct_queue.html">Queue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>traverse</b>() (defined in <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>)</td><td class="entry"><a class="el" href="../../dc/db5/struct_queue.html">Queue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </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>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: double_hashing Namespace Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<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>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d0/d65/namespacedouble__hashing.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -95,26 +95,25 @@ $(document).ready(function(){initNavTree('d0/d65/namespacedouble__hashing.html',
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">double_hashing Namespace Reference</div> </div>
<div class="headertitle"><div class="title">double_hashing Namespace Reference<div class="ingroups"><a class="el" href="../../d4/d39/group__open__addressing.html">Open Addressing</a></div></div></div>
</div><!--header-->
<div class="contents">
<p>An implementation of hash table using <a href="https://en.wikipedia.org/wiki/Double_hashing">double hashing</a> algorithm.
<p>An implementation of hash table using <a href="https://en.wikipedia.org/wiki/Double_hashing" target="_blank">double hashing</a> algorithm.
<a href="../../d0/d65/namespacedouble__hashing.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/dde/structdouble__hashing_1_1_entry.html">Entry</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a4b68c58d0e039662991f8e220129efd9"><td class="memItemLeft" align="right" valign="top"><a id="a4b68c58d0e039662991f8e220129efd9"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>Entry</b> = struct <a class="el" href="../../d9/dde/structdouble__hashing_1_1_entry.html">Entry</a></td></tr>
<tr class="separator:a4b68c58d0e039662991f8e220129efd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5f416c3d658d09e41cab50c8fb7b756"><td class="memItemLeft" align="right" valign="top"><a id="aa5f416c3d658d09e41cab50c8fb7b756" name="aa5f416c3d658d09e41cab50c8fb7b756"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>Entry</b> = <a class="el" href="../../d9/dde/structdouble__hashing_1_1_entry.html">Entry</a></td></tr>
<tr class="separator:aa5f416c3d658d09e41cab50c8fb7b756"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ac2adfce49ac57f6dbd1778d2c1ce0d2b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d65/namespacedouble__hashing.html#ac2adfce49ac57f6dbd1778d2c1ce0d2b">putProber</a> (const <a class="el" href="../../d9/dde/structdouble__hashing_1_1_entry.html">Entry</a> &amp;entry, int key)</td></tr>
<tr class="separator:ac2adfce49ac57f6dbd1778d2c1ce0d2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -142,31 +141,31 @@ Functions</h2></td></tr>
<tr class="memitem:a5d06e4598569526294f10104875f6824"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d65/namespacedouble__hashing.html#a5d06e4598569526294f10104875f6824">removalInfo</a> (int key)</td></tr>
<tr class="separator:a5d06e4598569526294f10104875f6824"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a77d33a0c49294b9ec22ad86eeff79585"><td class="memItemLeft" align="right" valign="top"><a id="a77d33a0c49294b9ec22ad86eeff79585"></a>
<tr class="memitem:a77d33a0c49294b9ec22ad86eeff79585"><td class="memItemLeft" align="right" valign="top"><a id="a77d33a0c49294b9ec22ad86eeff79585" name="a77d33a0c49294b9ec22ad86eeff79585"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>notPresent</b></td></tr>
<tr class="separator:a77d33a0c49294b9ec22ad86eeff79585"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e2ff0f9cfc7b54e60a6561f792d8b26"><td class="memItemLeft" align="right" valign="top"><a id="a0e2ff0f9cfc7b54e60a6561f792d8b26"></a>
<tr class="memitem:a0e2ff0f9cfc7b54e60a6561f792d8b26"><td class="memItemLeft" align="right" valign="top"><a id="a0e2ff0f9cfc7b54e60a6561f792d8b26" name="a0e2ff0f9cfc7b54e60a6561f792d8b26"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="el" href="../../d9/dde/structdouble__hashing_1_1_entry.html">Entry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>table</b></td></tr>
<tr class="separator:a0e2ff0f9cfc7b54e60a6561f792d8b26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60a52265027518b25655d730f960013a"><td class="memItemLeft" align="right" valign="top"><a id="a60a52265027518b25655d730f960013a"></a>
<tr class="memitem:a60a52265027518b25655d730f960013a"><td class="memItemLeft" align="right" valign="top"><a id="a60a52265027518b25655d730f960013a" name="a60a52265027518b25655d730f960013a"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>totalSize</b></td></tr>
<tr class="separator:a60a52265027518b25655d730f960013a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e9a7219d34e781e4e73d74a968b26c1"><td class="memItemLeft" align="right" valign="top"><a id="a4e9a7219d34e781e4e73d74a968b26c1"></a>
<tr class="memitem:a4e9a7219d34e781e4e73d74a968b26c1"><td class="memItemLeft" align="right" valign="top"><a id="a4e9a7219d34e781e4e73d74a968b26c1" name="a4e9a7219d34e781e4e73d74a968b26c1"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>tomb</b> = -1</td></tr>
<tr class="separator:a4e9a7219d34e781e4e73d74a968b26c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f5323b52037218cf5ae888778b7f980"><td class="memItemLeft" align="right" valign="top"><a id="a5f5323b52037218cf5ae888778b7f980"></a>
<tr class="memitem:a5f5323b52037218cf5ae888778b7f980"><td class="memItemLeft" align="right" valign="top"><a id="a5f5323b52037218cf5ae888778b7f980" name="a5f5323b52037218cf5ae888778b7f980"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>size</b></td></tr>
<tr class="separator:a5f5323b52037218cf5ae888778b7f980"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5d042a7f6038a2ec9e5718d0c7fb31f"><td class="memItemLeft" align="right" valign="top"><a id="ae5d042a7f6038a2ec9e5718d0c7fb31f"></a>
<tr class="memitem:ae5d042a7f6038a2ec9e5718d0c7fb31f"><td class="memItemLeft" align="right" valign="top"><a id="ae5d042a7f6038a2ec9e5718d0c7fb31f" name="ae5d042a7f6038a2ec9e5718d0c7fb31f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>rehashing</b></td></tr>
<tr class="separator:ae5d042a7f6038a2ec9e5718d0c7fb31f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>An implementation of hash table using <a href="https://en.wikipedia.org/wiki/Double_hashing">double hashing</a> algorithm. </p>
<div class="textblock"><p >An implementation of hash table using <a href="https://en.wikipedia.org/wiki/Double_hashing" target="_blank">double hashing</a> algorithm. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a79a9c914a6c68275b3640303d7faad8a"></a>
<a id="a79a9c914a6c68275b3640303d7faad8a" name="a79a9c914a6c68275b3640303d7faad8a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79a9c914a6c68275b3640303d7faad8a">&#9670;&nbsp;</a></span>add()</h2>
<div class="memitem">
@@ -181,22 +180,22 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>rehashing</b></td></t
</tr>
</table>
</div><div class="memdoc">
<p>Checks for load factor here </p><dl class="params"><dt>Parameters</dt><dd>
<p >Checks for load factor here </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>key value to add to the table </td></tr>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; {</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="comment">// auto* entry = new Entry();</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="comment">// entry-&gt;key = key;</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordtype">int</span> index = <a class="code" href="../../d0/d65/namespacedouble__hashing.html#a8f8ff4fb018e1bb32d67d8a1885d3200">doubleHash</a>(key, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; table[index].key = key;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="comment">// Load factor greater than 0.5 causes resizing</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">if</span> (++size / <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(totalSize) &gt;= 0.5) {</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="../../d0/d65/namespacedouble__hashing.html#af4981819aae8bc7e7beeaef02615e30d">rehash</a>();</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> {</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="comment">// auto* entry = new Entry();</span></div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="comment">// entry-&gt;key = key;</span></div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keywordtype">int</span> index = <a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#a8f8ff4fb018e1bb32d67d8a1885d3200">doubleHash</a>(key, <span class="keyword">false</span>);</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> table[index].key = key;</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="comment">// Load factor greater than 0.5 causes resizing</span></div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">if</span> (++size / <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(totalSize) &gt;= 0.5) {</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#af4981819aae8bc7e7beeaef02615e30d">rehash</a>();</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> }</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span>}</div>
<div class="ttc" id="anamespacedouble__hashing_html_a8f8ff4fb018e1bb32d67d8a1885d3200"><div class="ttname"><a href="../../d0/d65/namespacedouble__hashing.html#a8f8ff4fb018e1bb32d67d8a1885d3200">double_hashing::doubleHash</a></div><div class="ttdeci">int doubleHash(int key, bool searching)</div><div class="ttdoc">Performs double hashing to resolve collisions.</div><div class="ttdef"><b>Definition:</b> double_hash_hash_table.cpp:71</div></div>
<div class="ttc" id="anamespacedouble__hashing_html_af4981819aae8bc7e7beeaef02615e30d"><div class="ttname"><a href="../../d0/d65/namespacedouble__hashing.html#af4981819aae8bc7e7beeaef02615e30d">double_hashing::rehash</a></div><div class="ttdeci">void rehash()</div><div class="ttdef"><b>Definition:</b> double_hash_hash_table.cpp:161</div></div>
</div><!-- fragment --><div class="dynheader">
@@ -208,7 +207,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a9c652b2e467e5d250dfe3bed83b12560"></a>
<a id="a9c652b2e467e5d250dfe3bed83b12560" name="a9c652b2e467e5d250dfe3bed83b12560"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c652b2e467e5d250dfe3bed83b12560">&#9670;&nbsp;</a></span>addInfo()</h2>
<div class="memitem">
@@ -223,23 +222,23 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Information about the adding process </p><dl class="params"><dt>Parameters</dt><dd>
<p >Information about the adding process </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>key value to add to table </td></tr>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Initial table: &quot;</span>;</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="../../d0/d65/namespacedouble__hashing.html#a1e901418c759627557eff359b8db38cd">display</a>();</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;hash of &quot;</span> &lt;&lt; key &lt;&lt; <span class="stringliteral">&quot; is &quot;</span> &lt;&lt; <a class="code" href="../../d0/d65/namespacedouble__hashing.html#a0d90726ed1de7b3d2ae261baed048003">hashFxn</a>(key) &lt;&lt; <span class="stringliteral">&quot; % &quot;</span></div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; &lt;&lt; totalSize &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; <a class="code" href="../../d0/d65/namespacedouble__hashing.html#a0d90726ed1de7b3d2ae261baed048003">hashFxn</a>(key) % totalSize;</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="../../d0/d65/namespacedouble__hashing.html#a79a9c914a6c68275b3640303d7faad8a">add</a>(key);</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;New table: &quot;</span>;</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="../../d0/d65/namespacedouble__hashing.html#a1e901418c759627557eff359b8db38cd">display</a>();</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> {</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <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;Initial table: &quot;</span>;</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#a1e901418c759627557eff359b8db38cd">display</a>();</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &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="l00216" name="l00216"></a><span class="lineno"> 216</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;hash of &quot;</span> &lt;&lt; key &lt;&lt; <span class="stringliteral">&quot; is &quot;</span> &lt;&lt; <a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#a0d90726ed1de7b3d2ae261baed048003">hashFxn</a>(key) &lt;&lt; <span class="stringliteral">&quot; % &quot;</span></div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> &lt;&lt; totalSize &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; <a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#a0d90726ed1de7b3d2ae261baed048003">hashFxn</a>(key) % totalSize;</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &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="l00219" name="l00219"></a><span class="lineno"> 219</span> <a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#a79a9c914a6c68275b3640303d7faad8a">add</a>(key);</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</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;New table: &quot;</span>;</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#a1e901418c759627557eff359b8db38cd">display</a>();</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</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="aendl_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div><div class="ttdeci">T endl(T... args)</div></div>
<div class="ttc" id="anamespacedouble__hashing_html_a0d90726ed1de7b3d2ae261baed048003"><div class="ttname"><a href="../../d0/d65/namespacedouble__hashing.html#a0d90726ed1de7b3d2ae261baed048003">double_hashing::hashFxn</a></div><div class="ttdeci">size_t hashFxn(int key)</div><div class="ttdoc">Hash a key. Uses the STL library's std::hash() function.</div><div class="ttdef"><b>Definition:</b> double_hash_hash_table.cpp:47</div></div>
@@ -254,7 +253,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a1e901418c759627557eff359b8db38cd"></a>
<a id="a1e901418c759627557eff359b8db38cd" name="a1e901418c759627557eff359b8db38cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e901418c759627557eff359b8db38cd">&#9670;&nbsp;</a></span>display()</h2>
<div class="memitem">
@@ -268,21 +267,21 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Displays the table </p><dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
<div class="fragment"><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; {</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; totalSize; i++) {</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">if</span> (table[i].key == notPresent) {</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot; Empty &quot;</span>;</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (table[i].key == tomb) {</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot; Tomb &quot;</span>;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="codeRef" 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 name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; table[i].key;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <a class="codeRef" 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 name="l00153"></a><span class="lineno"> 153</span>&#160; }</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; }</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;}</div>
<p >Displays the table </p><dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
<div class="fragment"><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> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; totalSize; i++) {</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">if</span> (table[i].key == notPresent) {</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</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; Empty &quot;</span>;</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (table[i].key == tomb) {</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</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; Tomb &quot;</span>;</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</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="l00151" name="l00151"></a><span class="lineno"> 151</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; table[i].key;</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</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="l00153" name="l00153"></a><span class="lineno"> 153</span> }</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> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &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="l00156" name="l00156"></a><span class="lineno"> 156</span>}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -292,7 +291,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a8f8ff4fb018e1bb32d67d8a1885d3200"></a>
<a id="a8f8ff4fb018e1bb32d67d8a1885d3200" name="a8f8ff4fb018e1bb32d67d8a1885d3200"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f8ff4fb018e1bb32d67d8a1885d3200">&#9670;&nbsp;</a></span>doubleHash()</h2>
<div class="memitem">
@@ -329,48 +328,48 @@ Here is the call graph for this function:</div>
<dl class="section return"><dt>Returns</dt><dd>Index of key when found </dd>
<dd>
new hash if no conflicts present </dd></dl>
<div class="fragment"><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordtype">int</span> hash = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<a class="code" href="../../d0/d65/namespacedouble__hashing.html#a0d90726ed1de7b3d2ae261baed048003">hashFxn</a>(key));</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordtype">int</span> i = 0;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="../../d9/dde/structdouble__hashing_1_1_entry.html">Entry</a> entry;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">do</span> {</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordtype">int</span> index =</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(hash + (i * <a class="code" href="../../d0/d65/namespacedouble__hashing.html#a33968a1178289ab61445dd4000df7082">otherHashFxn</a>(key))) % totalSize;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; entry = table[index];</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">if</span> (searching) {</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">if</span> (entry.<a class="code" href="../../d9/dde/structdouble__hashing_1_1_entry.html#ae114967c89dbba3b754dc4976bba3248">key</a> == notPresent) {</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> notPresent;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d0/d65/namespacedouble__hashing.html#a29f543e2626bad58907661e1e45028a6">searchingProber</a>(entry, key)) {</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Found key!&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> index;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Found tombstone or equal hash, checking next&quot;</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; i++;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d0/d65/namespacedouble__hashing.html#ac2adfce49ac57f6dbd1778d2c1ce0d2b">putProber</a>(entry, key)) {</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">if</span> (!rehashing) {</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Spot found!&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; }</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">return</span> index;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">if</span> (!rehashing) {</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Spot taken, looking at next (next index:&quot;</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; &lt;&lt; <span class="stringliteral">&quot; &quot;</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; &lt;&lt; <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(hash + (i * <a class="code" href="../../d0/d65/namespacedouble__hashing.html#a33968a1178289ab61445dd4000df7082">otherHashFxn</a>(key))) %</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; totalSize</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; &lt;&lt; <span class="stringliteral">&quot;)&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; }</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; i++;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; }</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">if</span> (i == totalSize * 100) {</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;DoubleHash probe failed&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">return</span> notPresent;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; }</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; } <span class="keywordflow">while</span> (entry.<a class="code" href="../../d9/dde/structdouble__hashing_1_1_entry.html#ae114967c89dbba3b754dc4976bba3248">key</a> != notPresent);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">return</span> notPresent;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> {</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">int</span> hash = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#a0d90726ed1de7b3d2ae261baed048003">hashFxn</a>(key));</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">int</span> i = 0;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <a class="code hl_struct" href="../../d9/dde/structdouble__hashing_1_1_entry.html">Entry</a> entry;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">do</span> {</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">int</span> index =</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(hash + (i * <a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#a33968a1178289ab61445dd4000df7082">otherHashFxn</a>(key))) % totalSize;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> entry = table[index];</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordflow">if</span> (searching) {</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordflow">if</span> (entry.<a class="code hl_variable" href="../../d9/dde/structdouble__hashing_1_1_entry.html#ae114967c89dbba3b754dc4976bba3248">key</a> == notPresent) {</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">return</span> notPresent;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> }</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#a29f543e2626bad58907661e1e45028a6">searchingProber</a>(entry, key)) {</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</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;Found key!&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="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">return</span> index;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> }</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <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;Found tombstone or equal hash, checking next&quot;</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</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="l00089" name="l00089"></a><span class="lineno"> 89</span> i++;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#ac2adfce49ac57f6dbd1778d2c1ce0d2b">putProber</a>(entry, key)) {</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">if</span> (!rehashing) {</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</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;Spot 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="l00094" name="l00094"></a><span class="lineno"> 94</span> }</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">return</span> index;</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> <span class="keywordflow">if</span> (!rehashing) {</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</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;Spot taken, looking at next (next index:&quot;</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> &lt;&lt; <span class="stringliteral">&quot; &quot;</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> &lt;&lt; <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(hash + (i * <a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#a33968a1178289ab61445dd4000df7082">otherHashFxn</a>(key))) %</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> totalSize</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> &lt;&lt; <span class="stringliteral">&quot;)&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="l00103" name="l00103"></a><span class="lineno"> 103</span> }</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> i++;</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> }</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">if</span> (i == totalSize * 100) {</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</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;DoubleHash probe failed&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="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">return</span> notPresent;</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> }</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> } <span class="keywordflow">while</span> (entry.<a class="code hl_variable" href="../../d9/dde/structdouble__hashing_1_1_entry.html#ae114967c89dbba3b754dc4976bba3248">key</a> != notPresent);</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">return</span> notPresent;</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span>}</div>
<div class="ttc" id="anamespacedouble__hashing_html_a29f543e2626bad58907661e1e45028a6"><div class="ttname"><a href="../../d0/d65/namespacedouble__hashing.html#a29f543e2626bad58907661e1e45028a6">double_hashing::searchingProber</a></div><div class="ttdeci">bool searchingProber(const Entry &amp;entry, int key)</div><div class="ttdef"><b>Definition:</b> double_hash_hash_table.cpp:133</div></div>
<div class="ttc" id="anamespacedouble__hashing_html_a33968a1178289ab61445dd4000df7082"><div class="ttname"><a href="../../d0/d65/namespacedouble__hashing.html#a33968a1178289ab61445dd4000df7082">double_hashing::otherHashFxn</a></div><div class="ttdeci">size_t otherHashFxn(int key)</div><div class="ttdoc">Used for second hash function.</div><div class="ttdef"><b>Definition:</b> double_hash_hash_table.cpp:58</div></div>
<div class="ttc" id="anamespacedouble__hashing_html_ac2adfce49ac57f6dbd1778d2c1ce0d2b"><div class="ttname"><a href="../../d0/d65/namespacedouble__hashing.html#ac2adfce49ac57f6dbd1778d2c1ce0d2b">double_hashing::putProber</a></div><div class="ttdeci">bool putProber(const Entry &amp;entry, int key)</div><div class="ttdef"><b>Definition:</b> double_hash_hash_table.cpp:120</div></div>
@@ -385,7 +384,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a0d90726ed1de7b3d2ae261baed048003"></a>
<a id="a0d90726ed1de7b3d2ae261baed048003" name="a0d90726ed1de7b3d2ae261baed048003"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d90726ed1de7b3d2ae261baed048003">&#9670;&nbsp;</a></span>hashFxn()</h2>
<div class="memitem">
@@ -409,15 +408,15 @@ Here is the call graph for this function:</div>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>hash value of the key </dd></dl>
<div class="fragment"><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; {</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/hash.html">std::hash&lt;int&gt;</a> hash;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">return</span> hash(key);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;}</div>
<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> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/hash.html">std::hash&lt;int&gt;</a> hash;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keywordflow">return</span> hash(key);</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span>}</div>
<div class="ttc" id="ahash_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/hash.html">std::hash</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a33968a1178289ab61445dd4000df7082"></a>
<a id="a33968a1178289ab61445dd4000df7082" name="a33968a1178289ab61445dd4000df7082"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33968a1178289ab61445dd4000df7082">&#9670;&nbsp;</a></span>otherHashFxn()</h2>
<div class="memitem">
@@ -441,14 +440,14 @@ Here is the call graph for this function:</div>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>hash value of the key </dd></dl>
<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/hash.html">std::hash&lt;int&gt;</a> hash;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> 1 + (7 - (hash(key) % 7));</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> {</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/hash.html">std::hash&lt;int&gt;</a> hash;</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">return</span> 1 + (7 - (hash(key) % 7));</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ac2adfce49ac57f6dbd1778d2c1ce0d2b"></a>
<a id="ac2adfce49ac57f6dbd1778d2c1ce0d2b" name="ac2adfce49ac57f6dbd1778d2c1ce0d2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2adfce49ac57f6dbd1778d2c1ce0d2b">&#9670;&nbsp;</a></span>putProber()</h2>
<div class="memitem">
@@ -473,7 +472,7 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Finds empty spot in a vector </p><dl class="params"><dt>Parameters</dt><dd>
<p >Finds empty spot in a vector </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">entry</td><td>vector to search in </td></tr>
<tr><td class="paramname">key</td><td>key to search for </td></tr>
@@ -483,16 +482,16 @@ Here is the call graph for this function:</div>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if key is not present or is a <code>toumb</code> </dd>
<dd>
<code>false</code> is already occupied </dd></dl>
<div class="fragment"><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">if</span> (entry.<a class="code" href="../../d9/dde/structdouble__hashing_1_1_entry.html#ae114967c89dbba3b754dc4976bba3248">key</a> == notPresent || entry.<a class="code" href="../../d9/dde/structdouble__hashing_1_1_entry.html#ae114967c89dbba3b754dc4976bba3248">key</a> == tomb) {</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> {</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">if</span> (entry.<a class="code hl_variable" href="../../d9/dde/structdouble__hashing_1_1_entry.html#ae114967c89dbba3b754dc4976bba3248">key</a> == notPresent || entry.<a class="code hl_variable" href="../../d9/dde/structdouble__hashing_1_1_entry.html#ae114967c89dbba3b754dc4976bba3248">key</a> == tomb) {</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> }</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="af4981819aae8bc7e7beeaef02615e30d"></a>
<a id="af4981819aae8bc7e7beeaef02615e30d" name="af4981819aae8bc7e7beeaef02615e30d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4981819aae8bc7e7beeaef02615e30d">&#9670;&nbsp;</a></span>rehash()</h2>
<div class="memitem">
@@ -506,27 +505,27 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Rehashes the table into a bigger table </p><dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
<div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; {</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="comment">// Necessary so wall of add info isn&#39;t printed all at once</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; rehashing = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordtype">int</span> oldSize = totalSize;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Entry&gt;</a> oldTable(table);</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="comment">// Really this should use the next prime number greater than totalSize * 2</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; table = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Entry&gt;</a>(totalSize * 2);</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; totalSize *= 2;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; oldSize; i++) {</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">if</span> (oldTable[i].key != -1 &amp;&amp; oldTable[i].key != notPresent) {</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; size--; <span class="comment">// Size stays the same (add increments size)</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="../../d0/d65/namespacedouble__hashing.html#a79a9c914a6c68275b3640303d7faad8a">add</a>(oldTable[i].key);</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; }</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="comment">// delete[] oldTable;</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="comment">// oldTable.reset();</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; </div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; rehashing = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Table was rehashed, new size is: &quot;</span> &lt;&lt; totalSize &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;}</div>
<p >Rehashes the table into a bigger table </p><dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
<div class="fragment"><div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> {</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="comment">// Necessary so wall of add info isn&#39;t printed all at once</span></div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> rehashing = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keywordtype">int</span> oldSize = totalSize;</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Entry&gt;</a> oldTable(table);</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="comment">// Really this should use the next prime number greater than totalSize * 2</span></div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> table = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Entry&gt;</a>(totalSize * 2);</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> totalSize *= 2;</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; oldSize; i++) {</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">if</span> (oldTable[i].key != -1 &amp;&amp; oldTable[i].key != notPresent) {</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> size--; <span class="comment">// Size stays the same (add increments size)</span></div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#a79a9c914a6c68275b3640303d7faad8a">add</a>(oldTable[i].key);</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> }</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="comment">// delete[] oldTable;</span></div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <span class="comment">// oldTable.reset();</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> rehashing = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</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;Table was rehashed, new size is: &quot;</span> &lt;&lt; totalSize &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="l00180" name="l00180"></a><span class="lineno"> 180</span>}</div>
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
@@ -537,7 +536,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a5d06e4598569526294f10104875f6824"></a>
<a id="a5d06e4598569526294f10104875f6824" name="a5d06e4598569526294f10104875f6824"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d06e4598569526294f10104875f6824">&#9670;&nbsp;</a></span>removalInfo()</h2>
<div class="memitem">
@@ -552,23 +551,23 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Information about removal process </p><dl class="params"><dt>Parameters</dt><dd>
<p >Information about removal process </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>key value to remove from table </td></tr>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; {</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Initial table: &quot;</span>;</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="../../d0/d65/namespacedouble__hashing.html#a1e901418c759627557eff359b8db38cd">display</a>();</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;hash of &quot;</span> &lt;&lt; key &lt;&lt; <span class="stringliteral">&quot; is &quot;</span> &lt;&lt; <a class="code" href="../../d0/d65/namespacedouble__hashing.html#a0d90726ed1de7b3d2ae261baed048003">hashFxn</a>(key) &lt;&lt; <span class="stringliteral">&quot; % &quot;</span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; &lt;&lt; totalSize &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; <a class="code" href="../../d0/d65/namespacedouble__hashing.html#a0d90726ed1de7b3d2ae261baed048003">hashFxn</a>(key) % totalSize;</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="../../d0/d65/namespacedouble__hashing.html#a28083ecac6eb94b643281875c8665931">remove</a>(key);</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;New table: &quot;</span>;</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="../../d0/d65/namespacedouble__hashing.html#a1e901418c759627557eff359b8db38cd">display</a>();</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> {</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</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;Initial table: &quot;</span>;</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#a1e901418c759627557eff359b8db38cd">display</a>();</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &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="l00231" name="l00231"></a><span class="lineno"> 231</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;hash of &quot;</span> &lt;&lt; key &lt;&lt; <span class="stringliteral">&quot; is &quot;</span> &lt;&lt; <a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#a0d90726ed1de7b3d2ae261baed048003">hashFxn</a>(key) &lt;&lt; <span class="stringliteral">&quot; % &quot;</span></div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> &lt;&lt; totalSize &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; <a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#a0d90726ed1de7b3d2ae261baed048003">hashFxn</a>(key) % totalSize;</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &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="l00234" name="l00234"></a><span class="lineno"> 234</span> <a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#a28083ecac6eb94b643281875c8665931">remove</a>(key);</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</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;New table: &quot;</span>;</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> <a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#a1e901418c759627557eff359b8db38cd">display</a>();</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span>}</div>
<div class="ttc" id="anamespacedouble__hashing_html_a28083ecac6eb94b643281875c8665931"><div class="ttname"><a href="../../d0/d65/namespacedouble__hashing.html#a28083ecac6eb94b643281875c8665931">double_hashing::remove</a></div><div class="ttdeci">void remove(int key)</div><div class="ttdef"><b>Definition:</b> double_hash_hash_table.cpp:199</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
@@ -579,7 +578,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a28083ecac6eb94b643281875c8665931"></a>
<a id="a28083ecac6eb94b643281875c8665931" name="a28083ecac6eb94b643281875c8665931"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28083ecac6eb94b643281875c8665931">&#9670;&nbsp;</a></span>remove()</h2>
<div class="memitem">
@@ -594,21 +593,21 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Removes key. Leaves tombstone upon removal. </p><dl class="params"><dt>Parameters</dt><dd>
<p >Removes key. Leaves tombstone upon removal. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>key value to remove </td></tr>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; {</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordtype">int</span> index = <a class="code" href="../../d0/d65/namespacedouble__hashing.html#a8f8ff4fb018e1bb32d67d8a1885d3200">doubleHash</a>(key, <span class="keyword">true</span>);</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">if</span> (index == notPresent) {</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;key not found&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; }</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; table[index].key = tomb;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Removal successful, leaving tombstone&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; size--;</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;}</div>
<div class="fragment"><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="keywordtype">int</span> index = <a class="code hl_function" href="../../d0/d65/namespacedouble__hashing.html#a8f8ff4fb018e1bb32d67d8a1885d3200">doubleHash</a>(key, <span class="keyword">true</span>);</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">if</span> (index == notPresent) {</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</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;key 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="l00203" name="l00203"></a><span class="lineno"> 203</span> }</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> table[index].key = tomb;</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</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;Removal successful, leaving tombstone&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="l00206" name="l00206"></a><span class="lineno"> 206</span> size--;</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span>}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -618,7 +617,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a29f543e2626bad58907661e1e45028a6"></a>
<a id="a29f543e2626bad58907661e1e45028a6" name="a29f543e2626bad58907661e1e45028a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29f543e2626bad58907661e1e45028a6">&#9670;&nbsp;</a></span>searchingProber()</h2>
<div class="memitem">
@@ -643,7 +642,7 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Looks for a matching key </p><dl class="params"><dt>Parameters</dt><dd>
<p >Looks for a matching key </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">entry</td><td>vector to search in </td></tr>
<tr><td class="paramname">key</td><td>key value to search </td></tr>
@@ -653,12 +652,12 @@ Here is the call graph for this function:</div>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if found </dd>
<dd>
<code>false</code> if not found </dd></dl>
<div class="fragment"><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; {</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">if</span> (entry.<a class="code" href="../../d9/dde/structdouble__hashing_1_1_entry.html#ae114967c89dbba3b754dc4976bba3248">key</a> == key) {</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> {</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">if</span> (entry.<a class="code hl_variable" href="../../d9/dde/structdouble__hashing_1_1_entry.html#ae114967c89dbba3b754dc4976bba3248">key</a> == key) {</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> }</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span>}</div>
</div><!-- fragment -->
</div>
</div>
@@ -668,7 +667,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="../../d0/d65/namespacedouble__hashing.html">double_hashing</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.1 </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>
</ul>
</div>
</body>

View File

@@ -1,7 +1,6 @@
var namespacedouble__hashing =
[
[ "Entry", "d9/dde/structdouble__hashing_1_1_entry.html", "d9/dde/structdouble__hashing_1_1_entry" ],
[ "Entry", "d0/d65/namespacedouble__hashing.html#a4b68c58d0e039662991f8e220129efd9", null ],
[ "add", "d0/d65/namespacedouble__hashing.html#a79a9c914a6c68275b3640303d7faad8a", null ],
[ "addInfo", "d0/d65/namespacedouble__hashing.html#a9c652b2e467e5d250dfe3bed83b12560", null ],
[ "display", "d0/d65/namespacedouble__hashing.html#a1e901418c759627557eff359b8db38cd", null ],
@@ -12,11 +11,5 @@ var namespacedouble__hashing =
[ "rehash", "d0/d65/namespacedouble__hashing.html#af4981819aae8bc7e7beeaef02615e30d", null ],
[ "removalInfo", "d0/d65/namespacedouble__hashing.html#a5d06e4598569526294f10104875f6824", null ],
[ "remove", "d0/d65/namespacedouble__hashing.html#a28083ecac6eb94b643281875c8665931", null ],
[ "searchingProber", "d0/d65/namespacedouble__hashing.html#a29f543e2626bad58907661e1e45028a6", null ],
[ "notPresent", "d0/d65/namespacedouble__hashing.html#a77d33a0c49294b9ec22ad86eeff79585", null ],
[ "rehashing", "d0/d65/namespacedouble__hashing.html#ae5d042a7f6038a2ec9e5718d0c7fb31f", null ],
[ "size", "d0/d65/namespacedouble__hashing.html#a5f5323b52037218cf5ae888778b7f980", null ],
[ "table", "d0/d65/namespacedouble__hashing.html#a0e2ff0f9cfc7b54e60a6561f792d8b26", null ],
[ "tomb", "d0/d65/namespacedouble__hashing.html#a4e9a7219d34e781e4e73d74a968b26c1", null ],
[ "totalSize", "d0/d65/namespacedouble__hashing.html#a60a52265027518b25655d730f960013a", null ]
[ "searchingProber", "d0/d65/namespacedouble__hashing.html#a29f543e2626bad58907661e1e45028a6", null ]
];

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: double_hashing::display Pages: 1 -->
<svg width="222pt" height="28pt"

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: double_hashing::remove Pages: 1 -->
<!--zoomable 192 -->

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: double_hashing::remove Pages: 1 -->
<svg width="507pt" height="192pt"

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: double_hashing::removalInfo Pages: 1 -->
<!--zoomable 199 -->

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: double_hashing::removalInfo Pages: 1 -->
<svg width="688pt" height="199pt"

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: double_hashing::add Pages: 1 -->
<svg width="490pt" height="192pt"

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: double_hashing::doubleHash Pages: 1 -->
<svg width="345pt" height="192pt"

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: double_hashing::addInfo Pages: 1 -->
<!--zoomable 218 -->

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: double_hashing::addInfo Pages: 1 -->
<svg width="667pt" height="218pt"

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: double_hashing::rehash Pages: 1 -->
<!--zoomable 192 -->

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: double_hashing::rehash Pages: 1 -->
<svg width="649pt" height="192pt"

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: math/modular_exponentiation.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<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>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d0/d6d/modular__exponentiation_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -93,8 +93,7 @@ $(document).ready(function(){initNavTree('d0/d6d/modular__exponentiation_8cpp.ht
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">modular_exponentiation.cpp File Reference</div> </div>
<div class="headertitle"><div class="title">modular_exponentiation.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
@@ -109,13 +108,13 @@ Include dependency graph for modular_exponentiation.cpp:</div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d47/namespacemath"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d47/namespacemath.html">math</a></td></tr>
<tr class="memitem:dd/d47/namespacemath"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d47/namespacemath.html">math</a></td></tr>
<tr class="memdesc:dd/d47/namespacemath"><td class="mdescLeft">&#160;</td><td class="mdescRight">for IO operations <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:afcd07701d73ed65cd616bcba02737f3d"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d">math::power</a> (uint64_t a, uint64_t b, uint64_t c)</td></tr>
<tr class="memdesc:afcd07701d73ed65cd616bcba02737f3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function calculates a raised to exponent b under modulo c using modular exponentiation. <a href="../../dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d">More...</a><br /></td></tr>
@@ -127,12 +126,12 @@ Functions</h2></td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>C++ Program for Modular Exponentiation Iteratively. </p>
<p>The task is to calculate the value of an integer a raised to an integer exponent b under modulo c. </p><dl class="section note"><dt>Note</dt><dd>The time complexity of this approach is O(log b).</dd></dl>
<div class="textblock"><p >C++ Program for Modular Exponentiation Iteratively. </p>
<p >The task is to calculate the value of an integer a raised to an integer exponent b under modulo c. </p><dl class="section note"><dt>Note</dt><dd>The time complexity of this approach is O(log b).</dd></dl>
<p>Example: (4^3) % 5 (where ^ stands for exponentiation and % for modulo) (4*4*4) % 5 (4 % 5) * ( (4*4) % 5 ) 4 * (16 % 5) 4 * 1 4 We can also verify the result as 4^3 is 64 and 64 modulo 5 is 4</p>
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/Shri2206">Shri2206</a> </dd></dl>
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/Shri2206" target="_blank">Shri2206</a> </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
@@ -150,10 +149,10 @@ Functions</h2></td></tr>
<p>Main function. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on exit </dd></dl>
<div class="fragment"><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="../../d0/d6d/modular__exponentiation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// execute the tests</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> {</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <a class="code hl_function" href="../../d0/d6d/modular__exponentiation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// execute the tests</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span>}</div>
<div class="ttc" id="amodular__exponentiation_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="../../d0/d6d/modular__exponentiation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdef"><b>Definition:</b> modular_exponentiation.cpp:60</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
@@ -164,7 +163,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="aa8dca7b867074164d5f45b0f3851269d"></a>
<a id="aa8dca7b867074164d5f45b0f3851269d" name="aa8dca7b867074164d5f45b0f3851269d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8dca7b867074164d5f45b0f3851269d">&#9670;&nbsp;</a></span>test()</h2>
<div class="memitem">
@@ -186,28 +185,28 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Function for testing power function. test cases and assert statement. </p><dl class="section return"><dt>Returns</dt><dd><code>void</code> </dd></dl>
<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; {</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; uint32_t test_case_1 = <a class="code" href="../../dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d">math::power</a>(2, 5, 13);</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; assert(test_case_1 == 6);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 1 Passed!&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; uint32_t test_case_2 = <a class="code" href="../../dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d">math::power</a>(14, 7, 15);</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; assert(test_case_2 == 14);</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 2 Passed!&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; uint64_t test_case_3 = <a class="code" href="../../dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d">math::power</a>(8, 15, 41);</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; assert(test_case_3 == 32);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 3 Passed!&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; </div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; uint64_t test_case_4 = <a class="code" href="../../dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d">math::power</a>(27, 2, 5);</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; assert(test_case_4 == 4);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 4 Passed!&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; uint16_t test_case_5 = <a class="code" href="../../dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d">math::power</a>(7, 3, 6);</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; assert(test_case_5 == 1);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 5 Passed!&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}</div>
<p >Function for testing power function. test cases and assert statement. </p><dl class="section return"><dt>Returns</dt><dd><code>void</code> </dd></dl>
<div class="fragment"><div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> {</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> uint32_t test_case_1 = <a class="code hl_function" href="../../dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d">math::power</a>(2, 5, 13);</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> assert(test_case_1 == 6);</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</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;Test 1 Passed!&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="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> uint32_t test_case_2 = <a class="code hl_function" href="../../dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d">math::power</a>(14, 7, 15);</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> assert(test_case_2 == 14);</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</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;Test 2 Passed!&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="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> uint64_t test_case_3 = <a class="code hl_function" href="../../dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d">math::power</a>(8, 15, 41);</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> assert(test_case_3 == 32);</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</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;Test 3 Passed!&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="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> uint64_t test_case_4 = <a class="code hl_function" href="../../dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d">math::power</a>(27, 2, 5);</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> assert(test_case_4 == 4);</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</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;Test 4 Passed!&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="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> uint16_t test_case_5 = <a class="code hl_function" href="../../dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d">math::power</a>(7, 3, 6);</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> assert(test_case_5 == 1);</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</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;Test 5 Passed!&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="l00080" name="l00080"></a><span class="lineno"> 80</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="aendl_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div><div class="ttdeci">T endl(T... args)</div></div>
<div class="ttc" id="anamespacemath_html_afcd07701d73ed65cd616bcba02737f3d"><div class="ttname"><a href="../../dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d">math::power</a></div><div class="ttdeci">uint64_t power(uint64_t a, uint64_t b, uint64_t c)</div><div class="ttdoc">This function calculates a raised to exponent b under modulo c using modular exponentiation.</div><div class="ttdef"><b>Definition:</b> modular_exponentiation.cpp:35</div></div>
@@ -226,7 +225,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="../../dir_296d53ceaeaa7e099814a6def439fe8a.html">math</a></li><li class="navelem"><a class="el" href="../../d0/d6d/modular__exponentiation_8cpp.html">modular_exponentiation.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </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>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: test Pages: 1 -->
<svg width="218pt" height="66pt"

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<svg width="292pt" height="66pt"

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: others Namespace Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<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>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d0/d6f/namespaceothers.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,28 +90,27 @@ $(document).ready(function(){initNavTree('d0/d6f/namespaceothers.html','../../')
</div>
<div class="header">
<div class="headertitle">
<div class="title">others Namespace Reference</div> </div>
<div class="headertitle"><div class="title">others Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<p>for <code>vector</code>
<a href="../../d0/d6f/namespaceothers.html#details">More...</a></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>for <code>vector</code> </p>
<p>Other algorithms.</p>
<p>for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/unordered_map.html">std::unordered_map</a></p>
<p>for <code>reverse</code> for <code>assert</code> for I/O operations for <code>stack</code></p>
<p>Other algorithms</p>
<p>for assert for IO Operations for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list.html">std::list</a></p>
<p>Other algorithms </p>
<div class="textblock"><p >for <code>vector</code> </p>
<p >Other algorithms.</p>
<p >for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/unordered_map.html">std::unordered_map</a></p>
<p >for <code>reverse</code> for <code>assert</code> for I/O operations for <code>stack</code></p>
<p >Other algorithms</p>
<p >for assert for IO Operations for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list.html">std::list</a></p>
<p >Other algorithms </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d0/d6f/namespaceothers.html">others</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.1 </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>
</ul>
</div>
</body>

View File

@@ -1,8 +1,8 @@
var namespaceothers =
[
[ "iterative_tree_traversals", null, [
[ "Node", "d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html", "d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node" ],
[ "BinaryTree", "d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html", "d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree" ]
[ "BinaryTree", "d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html", "d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree" ],
[ "Node", "d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html", "d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node" ]
] ],
[ "lru_cache", null, [
[ "LRUCache", "d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html", "d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache" ]

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: search/linear_search.cpp Pages: 1 -->
<svg width="136pt" height="84pt"

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

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