Documentation for f1eddf4d65

This commit is contained in:
realstealthninja
2025-07-09 10:53:16 +00:00
parent e7edde96ab
commit b41207008f
2497 changed files with 31270 additions and 40283 deletions

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: TestCases Class Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -19,7 +19,6 @@
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../cookie.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
@@ -60,26 +59,20 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(1); });
/* @license-end */
$(function() { codefold.init(); });
</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',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
@@ -94,10 +87,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('d5/d58/class_test_cases.html','../../'); initResizable(true); });
/* @license-end */
$(function(){initNavTree('d5/d58/class_test_cases.html','../../','d9/d2c/class_test_cases-members'); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
@@ -121,10 +113,6 @@ $(function(){initNavTree('d5/d58/class_test_cases.html','../../'); initResizable
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="../../d9/d2c/class_test_cases-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">TestCases Class Reference</div></div>
</div><!--header-->
<div class="contents">
@@ -132,66 +120,51 @@ $(function(){initNavTree('d5/d58/class_test_cases.html','../../'); initResizable
<p>class encapsulating the necessary test cases
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aeabea90c02f9159e4a784bbf736e1e23" id="r_aeabea90c02f9159e4a784bbf736e1e23"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aeabea90c02f9159e4a784bbf736e1e23">runTests</a> ()</td></tr>
<tr class="memdesc:aeabea90c02f9159e4a784bbf736e1e23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes test cases. <br /></td></tr>
<tr class="separator:aeabea90c02f9159e4a784bbf736e1e23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2636e8b5b9e053374c45bfcf0603008" id="r_ac2636e8b5b9e053374c45bfcf0603008"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac2636e8b5b9e053374c45bfcf0603008">testCase_1</a> ()</td></tr>
<tr class="memdesc:ac2636e8b5b9e053374c45bfcf0603008"><td class="mdescLeft">&#160;</td><td class="mdescRight">A test case contains edge case, printing inorder successor of last node. <br /></td></tr>
<tr class="separator:ac2636e8b5b9e053374c45bfcf0603008"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abae0148985f159b582a385cf399254e3" id="r_abae0148985f159b582a385cf399254e3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abae0148985f159b582a385cf399254e3">testCase_2</a> ()</td></tr>
<tr class="memdesc:abae0148985f159b582a385cf399254e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">A test case which contains main list of 100 elements and sublist of 20. <br /></td></tr>
<tr class="separator:abae0148985f159b582a385cf399254e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9f95c09931625b41e3be1f88d1e28c5" id="r_ad9f95c09931625b41e3be1f88d1e28c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad9f95c09931625b41e3be1f88d1e28c5">testCase_3</a> ()</td></tr>
<tr class="memdesc:ad9f95c09931625b41e3be1f88d1e28c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">A test case which contains main list of 50 elements and sublist of 20. <br /></td></tr>
<tr class="separator:ad9f95c09931625b41e3be1f88d1e28c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeabea90c02f9159e4a784bbf736e1e23" id="r_aeabea90c02f9159e4a784bbf736e1e23"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aeabea90c02f9159e4a784bbf736e1e23">runTests</a> ()</td></tr>
<tr class="memdesc:aeabea90c02f9159e4a784bbf736e1e23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes test cases. <br /></td></tr>
<tr class="separator:aeabea90c02f9159e4a784bbf736e1e23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2636e8b5b9e053374c45bfcf0603008" id="r_ac2636e8b5b9e053374c45bfcf0603008"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac2636e8b5b9e053374c45bfcf0603008">testCase_1</a> ()</td></tr>
<tr class="memdesc:ac2636e8b5b9e053374c45bfcf0603008"><td class="mdescLeft">&#160;</td><td class="mdescRight">A test case contains edge case, Only contains one element. <br /></td></tr>
<tr class="separator:ac2636e8b5b9e053374c45bfcf0603008"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abae0148985f159b582a385cf399254e3" id="r_abae0148985f159b582a385cf399254e3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abae0148985f159b582a385cf399254e3">testCase_2</a> ()</td></tr>
<tr class="memdesc:abae0148985f159b582a385cf399254e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">A test case which contains main list of 100 elements and sublist of 20. <br /></td></tr>
<tr class="separator:abae0148985f159b582a385cf399254e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9f95c09931625b41e3be1f88d1e28c5" id="r_ad9f95c09931625b41e3be1f88d1e28c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad9f95c09931625b41e3be1f88d1e28c5">testCase_3</a> ()</td></tr>
<tr class="memdesc:ad9f95c09931625b41e3be1f88d1e28c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">A test case which contains main list of 50 elements and sublist of 20. <br /></td></tr>
<tr class="separator:ad9f95c09931625b41e3be1f88d1e28c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeabea90c02f9159e4a784bbf736e1e23" id="r_aeabea90c02f9159e4a784bbf736e1e23"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aeabea90c02f9159e4a784bbf736e1e23">runTests</a> ()</td></tr>
<tr class="memdesc:aeabea90c02f9159e4a784bbf736e1e23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes test cases. <br /></td></tr>
<tr class="separator:aeabea90c02f9159e4a784bbf736e1e23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2636e8b5b9e053374c45bfcf0603008" id="r_ac2636e8b5b9e053374c45bfcf0603008"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac2636e8b5b9e053374c45bfcf0603008">testCase_1</a> ()</td></tr>
<tr class="memdesc:ac2636e8b5b9e053374c45bfcf0603008"><td class="mdescLeft">&#160;</td><td class="mdescRight">A test case with single input. <br /></td></tr>
<tr class="separator:ac2636e8b5b9e053374c45bfcf0603008"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abae0148985f159b582a385cf399254e3" id="r_abae0148985f159b582a385cf399254e3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abae0148985f159b582a385cf399254e3">testCase_2</a> ()</td></tr>
<tr class="memdesc:abae0148985f159b582a385cf399254e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">A test case with input array of length 500. <br /></td></tr>
<tr class="separator:abae0148985f159b582a385cf399254e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9f95c09931625b41e3be1f88d1e28c5" id="r_ad9f95c09931625b41e3be1f88d1e28c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad9f95c09931625b41e3be1f88d1e28c5">testCase_3</a> ()</td></tr>
<tr class="memdesc:ad9f95c09931625b41e3be1f88d1e28c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">A test case with array of length 1000. <br /></td></tr>
<tr class="separator:ad9f95c09931625b41e3be1f88d1e28c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
<tr class="heading"><td colspan="2"><h2 id="header-pri-methods" class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:aa3aa3d5bf666f327ee8e2d11d397b06e" id="r_aa3aa3d5bf666f327ee8e2d11d397b06e"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:aa3aa3d5bf666f327ee8e2d11d397b06e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#aa3aa3d5bf666f327ee8e2d11d397b06e">log</a> (T msg)</td></tr>
<tr class="memitem:aa3aa3d5bf666f327ee8e2d11d397b06e template"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa3aa3d5bf666f327ee8e2d11d397b06e">log</a> (T msg)</td></tr>
<tr class="memdesc:aa3aa3d5bf666f327ee8e2d11d397b06e"><td class="mdescLeft">&#160;</td><td class="mdescRight">A function to print given message on console. <br /></td></tr>
<tr class="separator:aa3aa3d5bf666f327ee8e2d11d397b06e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3aa3d5bf666f327ee8e2d11d397b06e" id="r_aa3aa3d5bf666f327ee8e2d11d397b06e"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:aa3aa3d5bf666f327ee8e2d11d397b06e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#aa3aa3d5bf666f327ee8e2d11d397b06e">log</a> (T msg)</td></tr>
<tr class="memitem:aa3aa3d5bf666f327ee8e2d11d397b06e template"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa3aa3d5bf666f327ee8e2d11d397b06e">log</a> (T msg)</td></tr>
<tr class="memdesc:aa3aa3d5bf666f327ee8e2d11d397b06e"><td class="mdescLeft">&#160;</td><td class="mdescRight">A function to print given message on console. <br /></td></tr>
<tr class="separator:aa3aa3d5bf666f327ee8e2d11d397b06e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3aa3d5bf666f327ee8e2d11d397b06e" id="r_aa3aa3d5bf666f327ee8e2d11d397b06e"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:aa3aa3d5bf666f327ee8e2d11d397b06e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#aa3aa3d5bf666f327ee8e2d11d397b06e">log</a> (T msg)</td></tr>
<tr class="memitem:aa3aa3d5bf666f327ee8e2d11d397b06e template"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa3aa3d5bf666f327ee8e2d11d397b06e">log</a> (T msg)</td></tr>
<tr class="memdesc:aa3aa3d5bf666f327ee8e2d11d397b06e"><td class="mdescLeft">&#160;</td><td class="mdescRight">A function to print64_t given message on console. <br /></td></tr>
<tr class="separator:aa3aa3d5bf666f327ee8e2d11d397b06e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>class encapsulating the necessary test cases </p>
<p>a class containing the necessary test cases </p>
<p class="definition">Definition at line <a class="el" href="../../d4/d32/inorder__successor__of__bst_8cpp_source.html#l00225">225</a> of file <a class="el" href="../../d4/d32/inorder__successor__of__bst_8cpp_source.html">inorder_successor_of_bst.cpp</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
</div><a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Member Function Documentation</h2>
<a id="aa3aa3d5bf666f327ee8e2d11d397b06e" name="aa3aa3d5bf666f327ee8e2d11d397b06e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3aa3d5bf666f327ee8e2d11d397b06e">&#9670;&#160;</a></span>log() <span class="overload">[1/3]</span></h2>
@@ -1082,11 +1055,19 @@ template&lt;typename T&gt; </div>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="page-nav" class="page-nav-panel">
<div id="page-nav-resize-handle"></div>
<div id="page-nav-tree">
<div id="page-nav-contents">
</div><!-- page-nav-contents -->
</div><!-- page-nav-tree -->
</div><!-- page-nav -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d5/d58/class_test_cases.html">TestCases</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
<li class="navelem"><a href="../../d5/d58/class_test_cases.html">TestCases</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.14.0 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: range_queries/persistent_seg_tree_lazy_prop.cpp File Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -19,7 +19,6 @@
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../cookie.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
@@ -60,26 +59,20 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(1); });
/* @license-end */
$(function() { codefold.init(); });
</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',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
@@ -94,10 +87,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('d5/d58/persistent__seg__tree__lazy__prop_8cpp.html','../../'); initResizable(true); });
/* @license-end */
$(function(){initNavTree('d5/d58/persistent__seg__tree__lazy__prop_8cpp.html','../../',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
@@ -121,10 +113,6 @@ $(function(){initNavTree('d5/d58/persistent__seg__tree__lazy__prop_8cpp.html','.
</div>
<div class="header">
<div class="summary">
<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">persistent_seg_tree_lazy_prop.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
@@ -137,41 +125,36 @@ $(function(){initNavTree('d5/d58/persistent__seg__tree__lazy__prop_8cpp.html','.
</div><div class="textblock"><div class="dynheader">
Include dependency graph for persistent_seg_tree_lazy_prop.cpp:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d2/d86/persistent__seg__tree__lazy__prop_8cpp__incl.svg" width="255" height="126"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="../../d2/d86/persistent__seg__tree__lazy__prop_8cpp__incl.svg" width="255" height="126"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<p><a href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" 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="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td></tr>
<tr class="memitem:range_5Fqueries_3A_3AperSegTree" id="r_range_5Fqueries_3A_3AperSegTree"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Range query here is range sum, but the code can be modified to make different queries like range max or min. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#details">More...</a><br /></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="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">range_queries::perSegTree::Node</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:range_5Fqueries_3A_3AperSegTree_3A_3ANode" id="r_range_5Fqueries_3A_3AperSegTree_3A_3ANode"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">range_queries::perSegTree::Node</a></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
<tr class="heading"><td colspan="2"><h2 id="header-namespaces" class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d69/namespacerange__queries.html">range_queries</a></td></tr>
<tr class="memitem:range_5Fqueries" id="r_range_5Fqueries"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d69/namespacerange__queries.html">range_queries</a></td></tr>
<tr class="memdesc:dd/d69/namespacerange__queries"><td class="mdescLeft">&#160;</td><td class="mdescRight">for std::vector <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 id="func-members" name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aa8dca7b867074164d5f45b0f3851269d" id="r_aa8dca7b867074164d5f45b0f3851269d"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa8dca7b867074164d5f45b0f3851269d">test</a> ()</td></tr>
<tr class="memdesc:aa8dca7b867074164d5f45b0f3851269d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test implementations. <br /></td></tr>
<tr class="separator:aa8dca7b867074164d5f45b0f3851269d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4" id="r_ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
<tr class="memdesc:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main function. <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>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a href="https://en.wikipedia.org/wiki/Persistent_data_structure" target="_blank">Persistent segment tree with range updates (lazy propagation)</a> </p>
<p>A normal segment tree facilitates making point updates and range queries in logarithmic time. Lazy propagation preserves the logarithmic time with range updates. So, a segment tree with lazy propagation enables doing range updates and range queries in logarithmic time, but it doesn't save any information about itself before the last update. A persistent data structure always preserves the previous version of itself when it is modified. That is, a new version of the segment tree is generated after every update. It saves all previous versions of itself (before every update) to facilitate doing range queries in any version. More memory is used ,but the logarithmic time is preserved because the new version points to the same nodes, that the previous version points to, that are not affected by the update. That is, only the nodes that are affected by the update and their ancestors are copied. The rest is copied using lazy propagation in the next queries. Thus preserving the logarithmic time because the number of nodes copied after any update is logarithmic.</p>
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/MSedra" target="_blank">Magdy Sedra</a> </dd></dl>
<p class="definition">Definition in file <a class="el" href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp_source.html">persistent_seg_tree_lazy_prop.cpp</a>.</p>
</div><h2 class="groupheader">Function Documentation</h2>
</div><a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&#160;</a></span>main()</h2>
@@ -209,7 +192,7 @@ Functions</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void test </td>
<td class="memname">void test </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
@@ -281,11 +264,19 @@ Functions</h2></td></tr>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="page-nav" class="page-nav-panel">
<div id="page-nav-resize-handle"></div>
<div id="page-nav-tree">
<div id="page-nav-contents">
</div><!-- page-nav-contents -->
</div><!-- page-nav-tree -->
</div><!-- page-nav -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_074119ce3a874b57120c49a0cc4bb5ad.html">range_queries</a></li><li class="navelem"><a class="el" href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html">persistent_seg_tree_lazy_prop.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.13.2 </li>
<li class="navelem"><a href="../../dir_074119ce3a874b57120c49a0cc4bb5ad.html">range_queries</a></li><li class="navelem"><a href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html">persistent_seg_tree_lazy_prop.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.14.0 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: range_queries/persistent_seg_tree_lazy_prop.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -19,7 +19,6 @@
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../cookie.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
@@ -60,26 +59,20 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(1); });
/* @license-end */
$(function() { codefold.init(); });
</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',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
@@ -94,10 +87,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('d5/d58/persistent__seg__tree__lazy__prop_8cpp_source.html','../../'); initResizable(true); });
/* @license-end */
$(function(){initNavTree('d5/d58/persistent__seg__tree__lazy__prop_8cpp_source.html','../../',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
@@ -360,11 +352,12 @@ $(function(){initNavTree('d5/d58/persistent__seg__tree__lazy__prop_8cpp_source.h
<div class="ttc" id="apersistent__seg__tree__lazy__prop_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdoc">Main function.</div><div class="ttdef"><b>Definition</b> <a href="#l00318">persistent_seg_tree_lazy_prop.cpp:318</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_074119ce3a874b57120c49a0cc4bb5ad.html">range_queries</a></li><li class="navelem"><a class="el" href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html">persistent_seg_tree_lazy_prop.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.13.2 </li>
<li class="navelem"><a href="../../dir_074119ce3a874b57120c49a0cc4bb5ad.html">range_queries</a></li><li class="navelem"><a href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html">persistent_seg_tree_lazy_prop.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.14.0 </li>
</ul>
</div>
</body>

View File

@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
<!-- Generated by graphviz version 13.0.1 (20250615.1724)
-->
<!-- Title: sorting/random_pivot_quick_sort.cpp Pages: 1 -->
<svg width="370pt" height="94pt"
viewBox="0.00 0.00 370.38 93.75" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
viewBox="0.00 0.00 370.00 94.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
@@ -24,8 +24,8 @@
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Implementation of the Random Pivot Quick Sort algorithm.">
<polygon fill="#999999" stroke="#666666" points="238.25,-85.75 131.5,-85.75 131.5,-55.25 238.25,-55.25 238.25,-85.75"/>
<text text-anchor="start" x="139.5" y="-72.25" font-family="Helvetica,sans-Serif" font-size="10.00">sorting/random_pivot</text>
<text text-anchor="middle" x="184.88" y="-61" font-family="Helvetica,sans-Serif" font-size="10.00">_quick_sort.cpp</text>
<text xml:space="preserve" text-anchor="start" x="139.5" y="-72.25" font-family="Helvetica,sans-Serif" font-size="10.00">sorting/random_pivot</text>
<text xml:space="preserve" text-anchor="middle" x="184.88" y="-61" font-family="Helvetica,sans-Serif" font-size="10.00">_quick_sort.cpp</text>
</a>
</g>
</g>
@@ -34,7 +34,7 @@
<title>Node2</title>
<g id="a_Node000002"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="55.75,-19.25 0,-19.25 0,0 55.75,0 55.75,-19.25"/>
<text text-anchor="middle" x="27.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">algorithm</text>
<text xml:space="preserve" text-anchor="middle" x="27.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">algorithm</text>
</a>
</g>
</g>
@@ -52,7 +52,7 @@
<title>Node3</title>
<g id="a_Node000003"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="111.75,-19.25 74,-19.25 74,0 111.75,0 111.75,-19.25"/>
<text text-anchor="middle" x="92.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">array</text>
<text xml:space="preserve" text-anchor="middle" x="92.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">array</text>
</a>
</g>
</g>
@@ -70,7 +70,7 @@
<title>Node4</title>
<g id="a_Node000004"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="178,-19.25 129.75,-19.25 129.75,0 178,0 178,-19.25"/>
<text text-anchor="middle" x="153.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">cassert</text>
<text xml:space="preserve" text-anchor="middle" x="153.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">cassert</text>
</a>
</g>
</g>
@@ -88,7 +88,7 @@
<title>Node5</title>
<g id="a_Node000005"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="235.88,-19.25 195.88,-19.25 195.88,0 235.88,0 235.88,-19.25"/>
<text text-anchor="middle" x="215.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">ctime</text>
<text xml:space="preserve" text-anchor="middle" x="215.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">ctime</text>
</a>
</g>
</g>
@@ -106,7 +106,7 @@
<title>Node6</title>
<g id="a_Node000006"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="307.62,-19.25 254.12,-19.25 254.12,0 307.62,0 307.62,-19.25"/>
<text text-anchor="middle" x="280.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
<text xml:space="preserve" text-anchor="middle" x="280.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
</a>
</g>
</g>
@@ -124,7 +124,7 @@
<title>Node7</title>
<g id="a_Node000007"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="362.38,-19.25 325.38,-19.25 325.38,0 362.38,0 362.38,-19.25"/>
<text text-anchor="middle" x="343.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">tuple</text>
<text xml:space="preserve" text-anchor="middle" x="343.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">tuple</text>
</a>
</g>
</g>

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
<!-- Generated by graphviz version 13.0.1 (20250615.1724)
-->
<!-- Title: sorting/random_pivot_quick_sort.cpp Pages: 1 -->
<svg width="370pt" height="94pt"
viewBox="0.00 0.00 370.38 93.75" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
viewBox="0.00 0.00 370.00 94.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 89.75)">
<title>sorting/random_pivot_quick_sort.cpp</title>
<!-- Node1 -->
@@ -13,8 +13,8 @@
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Implementation of the Random Pivot Quick Sort algorithm.">
<polygon fill="#999999" stroke="#666666" points="238.25,-85.75 131.5,-85.75 131.5,-55.25 238.25,-55.25 238.25,-85.75"/>
<text text-anchor="start" x="139.5" y="-72.25" font-family="Helvetica,sans-Serif" font-size="10.00">sorting/random_pivot</text>
<text text-anchor="middle" x="184.88" y="-61" font-family="Helvetica,sans-Serif" font-size="10.00">_quick_sort.cpp</text>
<text xml:space="preserve" text-anchor="start" x="139.5" y="-72.25" font-family="Helvetica,sans-Serif" font-size="10.00">sorting/random_pivot</text>
<text xml:space="preserve" text-anchor="middle" x="184.88" y="-61" font-family="Helvetica,sans-Serif" font-size="10.00">_quick_sort.cpp</text>
</a>
</g>
</g>
@@ -23,7 +23,7 @@
<title>Node2</title>
<g id="a_Node000002"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="55.75,-19.25 0,-19.25 0,0 55.75,0 55.75,-19.25"/>
<text text-anchor="middle" x="27.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">algorithm</text>
<text xml:space="preserve" text-anchor="middle" x="27.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">algorithm</text>
</a>
</g>
</g>
@@ -41,7 +41,7 @@
<title>Node3</title>
<g id="a_Node000003"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="111.75,-19.25 74,-19.25 74,0 111.75,0 111.75,-19.25"/>
<text text-anchor="middle" x="92.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">array</text>
<text xml:space="preserve" text-anchor="middle" x="92.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">array</text>
</a>
</g>
</g>
@@ -59,7 +59,7 @@
<title>Node4</title>
<g id="a_Node000004"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="178,-19.25 129.75,-19.25 129.75,0 178,0 178,-19.25"/>
<text text-anchor="middle" x="153.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">cassert</text>
<text xml:space="preserve" text-anchor="middle" x="153.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">cassert</text>
</a>
</g>
</g>
@@ -77,7 +77,7 @@
<title>Node5</title>
<g id="a_Node000005"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="235.88,-19.25 195.88,-19.25 195.88,0 235.88,0 235.88,-19.25"/>
<text text-anchor="middle" x="215.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">ctime</text>
<text xml:space="preserve" text-anchor="middle" x="215.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">ctime</text>
</a>
</g>
</g>
@@ -95,7 +95,7 @@
<title>Node6</title>
<g id="a_Node000006"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="307.62,-19.25 254.12,-19.25 254.12,0 307.62,0 307.62,-19.25"/>
<text text-anchor="middle" x="280.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
<text xml:space="preserve" text-anchor="middle" x="280.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
</a>
</g>
</g>
@@ -113,7 +113,7 @@
<title>Node7</title>
<g id="a_Node000007"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="362.38,-19.25 325.38,-19.25 325.38,0 362.38,0 362.38,-19.25"/>
<text text-anchor="middle" x="343.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">tuple</text>
<text xml:space="preserve" text-anchor="middle" x="343.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">tuple</text>
</a>
</g>
</g>

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB