Documentation for 53a6c16730

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

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="generator" content="Doxygen 1.9.3"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: probability::windowed_median::WindowedMedian Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -30,8 +30,8 @@ MathJax.Hub.Config({
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
@@ -41,7 +41,7 @@ MathJax.Hub.Config({
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.2 -->
<!-- Generated by Doxygen 1.9.3 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
@@ -104,7 +104,7 @@ $(document).ready(function(){initNavTree('df/d34/classprobability_1_1windowed__m
<div class="dynheader">
Collaboration diagram for probability::windowed_median::WindowedMedian:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph.svg" width="194" height="142"><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="../../d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph.svg" width="270" height="156"><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">
@@ -181,7 +181,7 @@ const size_type&#160;</td><td class="memItemRight" valign="bottom"><b>_windowSiz
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span>: <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aafda847b152684578dab891e5268d750">_windowSize</a>(windowSize){};</div>
<div class="fragment"><div class="line"><span class="lineno"> 123</span>: <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aafda847b152684578dab891e5268d750">_windowSize</a>(windowSize){};</div>
<div class="ttc" id="aclassprobability_1_1windowed__median_1_1_windowed_median_html_aafda847b152684578dab891e5268d750"><div class="ttname"><a href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aafda847b152684578dab891e5268d750">probability::windowed_median::WindowedMedian::_windowSize</a></div><div class="ttdeci">const size_type _windowSize</div><div class="ttdoc">sliding window size</div><div class="ttdef"><b>Definition:</b> windowed_median.cpp:57</div></div>
</div><!-- fragment -->
</div>
@@ -222,31 +222,40 @@ const size_type&#160;</td><td class="memItemRight" valign="bottom"><b>_windowSiz
<p >O(1) - traversing one step to the right child</p>
<p >However, if the erased value is on the right branch or the median itself, and the number of elements is odd, the new median will be the left child of the current one</p>
<p >Find the (first) position of the value we want to erase, and erase it</p>
<div class="fragment"><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> <span class="keyword">const</span> <span class="keyword">auto</span> sz = <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de">_sortedValues</a>.size();</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="comment"></span> </div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="comment"> /// If the erased value is on the left branch or the median itself and</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="comment"> /// the number of elements is even, the new median will be the right</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="comment"> /// child of the current one</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="comment"></span> <span class="keywordflow">if</span> (value &lt;= *<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a> &amp;&amp; sz % 2 == 0) {</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> ++<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a>; <span class="comment">/// O(1) - traversing one step to the right child</span></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><span class="comment"></span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="comment"> /// However, if the erased value is on the right branch or the median</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="comment"> /// itself, and the number of elements is odd, the new median will be</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="comment"> /// the left child of the current one</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="comment"></span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (value &gt;= *<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a> &amp;&amp; sz % 2 != 0) {</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> --<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a>; <span class="comment">// O(1) - traversing one step to the left child</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> }</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="comment"></span> </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="comment"> /// Find the (first) position of the value we want to erase, and erase</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="comment"> /// it</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="comment"></span> <span class="keyword">const</span> <span class="keyword">auto</span> it = <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de">_sortedValues</a>.find(value); <span class="comment">// O(logN)</span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de">_sortedValues</a>.erase(it); <span class="comment">// O(logN)</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> }</div>
<div class="fragment"><div class="line"><span class="lineno"> 95</span> {</div>
<div class="line"><span class="lineno"> 96</span> <span class="keyword">const</span> <span class="keyword">auto</span> sz = <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de">_sortedValues</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/multiset/size.html">size</a>();</div>
<div class="line"><span class="lineno"> 97</span><span class="comment"></span> </div>
<div class="line"><span class="lineno"> 98</span><span class="comment"> /// If the erased value is on the left branch or the median itself and</span></div>
<div class="line"><span class="lineno"> 99</span><span class="comment"> /// the number of elements is even, the new median will be the right</span></div>
<div class="line"><span class="lineno"> 100</span><span class="comment"> /// child of the current one</span></div>
<div class="line"><span class="lineno"> 101</span><span class="comment"></span> <span class="keywordflow">if</span> (value &lt;= *<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a> &amp;&amp; sz % 2 == 0) {</div>
<div class="line"><span class="lineno"> 102</span> ++<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a>; <span class="comment">/// O(1) - traversing one step to the right child</span></div>
<div class="line"><span class="lineno"> 103</span> }</div>
<div class="line"><span class="lineno"> 104</span><span class="comment"></span> </div>
<div class="line"><span class="lineno"> 105</span><span class="comment"> /// However, if the erased value is on the right branch or the median</span></div>
<div class="line"><span class="lineno"> 106</span><span class="comment"> /// itself, and the number of elements is odd, the new median will be</span></div>
<div class="line"><span class="lineno"> 107</span><span class="comment"> /// the left child of the current one</span></div>
<div class="line"><span class="lineno"> 108</span><span class="comment"></span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (value &gt;= *<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a> &amp;&amp; sz % 2 != 0) {</div>
<div class="line"><span class="lineno"> 109</span> --<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a>; <span class="comment">// O(1) - traversing one step to the left child</span></div>
<div class="line"><span class="lineno"> 110</span> }</div>
<div class="line"><span class="lineno"> 111</span><span class="comment"></span> </div>
<div class="line"><span class="lineno"> 112</span><span class="comment"> /// Find the (first) position of the value we want to erase, and erase</span></div>
<div class="line"><span class="lineno"> 113</span><span class="comment"> /// it</span></div>
<div class="line"><span class="lineno"> 114</span><span class="comment"></span> <span class="keyword">const</span> <span class="keyword">auto</span> it = <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de">_sortedValues</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/multiset/find.html">find</a>(value); <span class="comment">// O(logN)</span></div>
<div class="line"><span class="lineno"> 115</span> <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de">_sortedValues</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/multiset/erase.html">erase</a>(it); <span class="comment">// O(logN)</span></div>
<div class="line"><span class="lineno"> 116</span> }</div>
<div class="ttc" id="aclassprobability_1_1windowed__median_1_1_windowed_median_html_a55ae3543a76045dffcb5ec7904a32a20"><div class="ttname"><a href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">probability::windowed_median::WindowedMedian::_itMedian</a></div><div class="ttdeci">std::multiset&lt; int &gt;::const_iterator _itMedian</div><div class="ttdef"><b>Definition:</b> windowed_median.cpp:62</div></div>
<div class="ttc" id="aclassprobability_1_1windowed__median_1_1_windowed_median_html_aacd76f078632faee1a8788d031e6c2de"><div class="ttname"><a href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de">probability::windowed_median::WindowedMedian::_sortedValues</a></div><div class="ttdeci">std::multiset&lt; int &gt; _sortedValues</div><div class="ttdef"><b>Definition:</b> windowed_median.cpp:59</div></div>
</div><!-- fragment -->
<div class="ttc" id="aerase_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/multiset/erase.html">std::multiset::erase</a></div><div class="ttdeci">T erase(T... args)</div></div>
<div class="ttc" id="afind_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/multiset/find.html">std::multiset::find</a></div><div class="ttdeci">T find(T... args)</div></div>
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/multiset/size.html">std::multiset::size</a></div><div class="ttdeci">T size(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="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median_af544e271ea19a6fd69a6b3ed6816453e_cgraph.svg" width="376" height="139"><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="a938cafbdf70dc01e86e9bb12d29ec65d" name="a938cafbdf70dc01e86e9bb12d29ec65d"></a>
@@ -275,14 +284,20 @@ const size_type&#160;</td><td class="memItemRight" valign="bottom"><b>_windowSiz
<p>Gets the median of the values in the sliding window. </p>
<dl class="section return"><dt>Returns</dt><dd>Median of sliding window. For even window size return the average between the two values in the middle </dd></dl>
<p >O(1)</p>
<div class="fragment"><div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> {</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de">_sortedValues</a>.size() % 2 != 0) {</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">return</span> *<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a>; <span class="comment">// O(1)</span></div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> }</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">return</span> 0.5f * *<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a> + 0.5f * *<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a>(<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a>); <span class="comment">/// O(1)</span></div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> }</div>
<div class="fragment"><div class="line"><span class="lineno"> 148</span> {</div>
<div class="line"><span class="lineno"> 149</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de">_sortedValues</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/multiset/size.html">size</a>() % 2 != 0) {</div>
<div class="line"><span class="lineno"> 150</span> <span class="keywordflow">return</span> *<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a>; <span class="comment">// O(1)</span></div>
<div class="line"><span class="lineno"> 151</span> }</div>
<div class="line"><span class="lineno"> 152</span> <span class="keywordflow">return</span> 0.5f * *<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a> + 0.5f * *<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a>(<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a>); <span class="comment">/// O(1)</span></div>
<div class="line"><span class="lineno"> 153</span> }</div>
<div class="ttc" id="anext_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/iterator/next.html">std::next</a></div><div class="ttdeci">T next(T... args)</div></div>
</div><!-- fragment -->
</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="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a938cafbdf70dc01e86e9bb12d29ec65d_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>
</div>
</div>
</div>
<a id="a61804988fcb1a6caf640f8291979aaa6" name="a61804988fcb1a6caf640f8291979aaa6"></a>
@@ -313,18 +328,18 @@ const size_type&#160;</td><td class="memItemRight" valign="bottom"><b>_windowSiz
<p >Sort window - O(NlogN)</p>
<p >Find value in the middle - O(N)</p>
<p >O(N)</p>
<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="keyword">auto</span> window = <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a825a7aaef844c9f743a27b268e8569b2">_window</a>;</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> window.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list/sort.html">sort</a>(); <span class="comment">/// Sort window - O(NlogN)</span></div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keyword">auto</span> median =</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> *<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a>(window.begin(),</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> window.size() / 2); <span class="comment">/// Find value in the middle - O(N)</span></div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">if</span> (window.size() % 2 != 0) {</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">return</span> median;</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> }</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">return</span> 0.5f * median +</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> 0.5f * *<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a>(window.begin(), window.size() / 2 - 1); <span class="comment">/// O(N)</span></div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> }</div>
<div class="fragment"><div class="line"><span class="lineno"> 161</span> {</div>
<div class="line"><span class="lineno"> 162</span> <span class="keyword">auto</span> window = <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a825a7aaef844c9f743a27b268e8569b2">_window</a>;</div>
<div class="line"><span class="lineno"> 163</span> window.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list/sort.html">sort</a>(); <span class="comment">/// Sort window - O(NlogN)</span></div>
<div class="line"><span class="lineno"> 164</span> <span class="keyword">auto</span> median =</div>
<div class="line"><span class="lineno"> 165</span> *<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a>(window.begin(),</div>
<div class="line"><span class="lineno"> 166</span> window.size() / 2); <span class="comment">/// Find value in the middle - O(N)</span></div>
<div class="line"><span class="lineno"> 167</span> <span class="keywordflow">if</span> (window.size() % 2 != 0) {</div>
<div class="line"><span class="lineno"> 168</span> <span class="keywordflow">return</span> median;</div>
<div class="line"><span class="lineno"> 169</span> }</div>
<div class="line"><span class="lineno"> 170</span> <span class="keywordflow">return</span> 0.5f * median +</div>
<div class="line"><span class="lineno"> 171</span> 0.5f * *<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a>(window.begin(), window.size() / 2 - 1); <span class="comment">/// O(N)</span></div>
<div class="line"><span class="lineno"> 172</span> }</div>
<div class="ttc" id="aclassprobability_1_1windowed__median_1_1_windowed_median_html_a825a7aaef844c9f743a27b268e8569b2"><div class="ttname"><a href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a825a7aaef844c9f743a27b268e8569b2">probability::windowed_median::WindowedMedian::_window</a></div><div class="ttdeci">Window _window</div><div class="ttdoc">a sliding window of values along the stream</div><div class="ttdef"><b>Definition:</b> windowed_median.cpp:58</div></div>
<div class="ttc" id="asort_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/list/sort.html">std::list::sort</a></div><div class="ttdeci">T sort(T... args)</div></div>
</div><!-- fragment --><div class="dynheader">
@@ -371,29 +386,28 @@ Here is the call graph for this function:</div>
<p >If exceeding size of window, pop from its left side</p>
<p >Erase from the multi-value BST the window left side value</p>
<p >Pop the left side value from the window - O(1)</p>
<div class="fragment"><div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> {<span class="comment"></span></div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span><span class="comment"> /// Push new value to the back of the sliding window - O(1)</span></div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span><span class="comment"></span> <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a825a7aaef844c9f743a27b268e8569b2">_window</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list/push_back.html">push_back</a>(value);</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <a class="code hl_function" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a3a7f57679e9cd6c9f042dfd0612b2b24">insertToSorted</a>(value); <span class="comment">// Insert value to the multi-value BST - O(logN)</span></div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a825a7aaef844c9f743a27b268e8569b2">_window</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list/size.html">size</a>() &gt; <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aafda847b152684578dab891e5268d750">_windowSize</a>) { <span class="comment">/// If exceeding size of window,</span><span class="comment"></span></div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span><span class="comment"> /// pop from its left side</span></div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="comment"></span> <a class="code hl_function" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#af544e271ea19a6fd69a6b3ed6816453e">eraseFromSorted</a>(</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a825a7aaef844c9f743a27b268e8569b2">_window</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list/front.html">front</a>()); <span class="comment">/// Erase from the multi-value BST</span><span class="comment"></span></div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span><span class="comment"> /// the window left side value</span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span><span class="comment"></span> <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a825a7aaef844c9f743a27b268e8569b2">_window</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list/pop_front.html">pop_front</a>(); <span class="comment">/// Pop the left side value from the window -</span><span class="comment"></span></div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="comment"> /// O(1)</span></div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="comment"></span> }</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> }</div>
<div class="fragment"><div class="line"><span class="lineno"> 129</span> {<span class="comment"></span></div>
<div class="line"><span class="lineno"> 130</span><span class="comment"> /// Push new value to the back of the sliding window - O(1)</span></div>
<div class="line"><span class="lineno"> 131</span><span class="comment"></span> <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a825a7aaef844c9f743a27b268e8569b2">_window</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list/push_back.html">push_back</a>(value);</div>
<div class="line"><span class="lineno"> 132</span> <a class="code hl_function" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a3a7f57679e9cd6c9f042dfd0612b2b24">insertToSorted</a>(value); <span class="comment">// Insert value to the multi-value BST - O(logN)</span></div>
<div class="line"><span class="lineno"> 133</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a825a7aaef844c9f743a27b268e8569b2">_window</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list/size.html">size</a>() &gt; <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aafda847b152684578dab891e5268d750">_windowSize</a>) { <span class="comment">/// If exceeding size of window,</span><span class="comment"></span></div>
<div class="line"><span class="lineno"> 134</span><span class="comment"> /// pop from its left side</span></div>
<div class="line"><span class="lineno"> 135</span><span class="comment"></span> <a class="code hl_function" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#af544e271ea19a6fd69a6b3ed6816453e">eraseFromSorted</a>(</div>
<div class="line"><span class="lineno"> 136</span> <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a825a7aaef844c9f743a27b268e8569b2">_window</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list/front.html">front</a>()); <span class="comment">/// Erase from the multi-value BST</span><span class="comment"></span></div>
<div class="line"><span class="lineno"> 137</span><span class="comment"> /// the window left side value</span></div>
<div class="line"><span class="lineno"> 138</span><span class="comment"></span> <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a825a7aaef844c9f743a27b268e8569b2">_window</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list/pop_front.html">pop_front</a>(); <span class="comment">/// Pop the left side value from the window -</span><span class="comment"></span></div>
<div class="line"><span class="lineno"> 139</span><span class="comment"> /// O(1)</span></div>
<div class="line"><span class="lineno"> 140</span><span class="comment"></span> }</div>
<div class="line"><span class="lineno"> 141</span> }</div>
<div class="ttc" id="aclassprobability_1_1windowed__median_1_1_windowed_median_html_a3a7f57679e9cd6c9f042dfd0612b2b24"><div class="ttname"><a href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a3a7f57679e9cd6c9f042dfd0612b2b24">probability::windowed_median::WindowedMedian::insertToSorted</a></div><div class="ttdeci">void insertToSorted(int value)</div><div class="ttdoc">Inserts a value to a sorted multi-value BST.</div><div class="ttdef"><b>Definition:</b> windowed_median.cpp:69</div></div>
<div class="ttc" id="aclassprobability_1_1windowed__median_1_1_windowed_median_html_af544e271ea19a6fd69a6b3ed6816453e"><div class="ttname"><a href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#af544e271ea19a6fd69a6b3ed6816453e">probability::windowed_median::WindowedMedian::eraseFromSorted</a></div><div class="ttdeci">void eraseFromSorted(int value)</div><div class="ttdoc">Erases a value from a sorted multi-value BST.</div><div class="ttdef"><b>Definition:</b> windowed_median.cpp:95</div></div>
<div class="ttc" id="afront_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/list/front.html">std::list::front</a></div><div class="ttdeci">T front(T... args)</div></div>
<div class="ttc" id="apop_front_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/list/pop_front.html">std::list::pop_front</a></div><div class="ttdeci">T pop_front(T... args)</div></div>
<div class="ttc" id="apush_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/list/push_back.html">std::list::push_back</a></div><div class="ttdeci">T push_back(T... args)</div></div>
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/list/size.html">std::list::size</a></div><div class="ttdeci">T size(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="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph.svg" width="424" height="350"><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="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph.svg" width="607" height="382"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
@@ -435,28 +449,36 @@ Here is the call graph for this function:</div>
<p >If new value goes to left tree branch, and number of elements is even, the new median in the balanced tree is the left child of the median before the insertion</p>
<p >However, if the new value goes to the right branch, the previous median's right child is the new median in the balanced tree</p>
<p >O(1) - traversing one step to the right child</p>
<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> <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de">_sortedValues</a>.insert(value); <span class="comment">/// Insert value to BST - O(logN)</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">const</span> <span class="keyword">auto</span> sz = <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de">_sortedValues</a>.size();</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">if</span> (sz == 1) { <span class="comment">/// For the first value, set median iterator to BST root</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a> = <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de">_sortedValues</a>.begin();</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> }</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="comment"></span> </div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="comment"> /// If new value goes to left tree branch, and number of elements is</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="comment"> /// even, the new median in the balanced tree is the left child of the</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="comment"> /// median before the insertion</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="comment"></span> <span class="keywordflow">if</span> (value &lt; *<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a> &amp;&amp; sz % 2 == 0) {</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> --<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a>; <span class="comment">// O(1) - traversing one step to the left child</span></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="comment"></span> </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="comment"> /// However, if the new value goes to the right branch, the previous</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="comment"> /// median&#39;s right child is the new median in the balanced tree</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="comment"></span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (value &gt;= *<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a> &amp;&amp; sz % 2 != 0) {</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> ++<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a>; <span class="comment">/// O(1) - traversing one step to the right child</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> }</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> }</div>
</div><!-- fragment -->
<div class="fragment"><div class="line"><span class="lineno"> 69</span> {</div>
<div class="line"><span class="lineno"> 70</span> <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de">_sortedValues</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/multiset/insert.html">insert</a>(value); <span class="comment">/// Insert value to BST - O(logN)</span></div>
<div class="line"><span class="lineno"> 71</span> <span class="keyword">const</span> <span class="keyword">auto</span> sz = <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de">_sortedValues</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/multiset/size.html">size</a>();</div>
<div class="line"><span class="lineno"> 72</span> <span class="keywordflow">if</span> (sz == 1) { <span class="comment">/// For the first value, set median iterator to BST root</span></div>
<div class="line"><span class="lineno"> 73</span> <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a> = <a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de">_sortedValues</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/multiset/begin.html">begin</a>();</div>
<div class="line"><span class="lineno"> 74</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 75</span> }</div>
<div class="line"><span class="lineno"> 76</span><span class="comment"></span> </div>
<div class="line"><span class="lineno"> 77</span><span class="comment"> /// If new value goes to left tree branch, and number of elements is</span></div>
<div class="line"><span class="lineno"> 78</span><span class="comment"> /// even, the new median in the balanced tree is the left child of the</span></div>
<div class="line"><span class="lineno"> 79</span><span class="comment"> /// median before the insertion</span></div>
<div class="line"><span class="lineno"> 80</span><span class="comment"></span> <span class="keywordflow">if</span> (value &lt; *<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a> &amp;&amp; sz % 2 == 0) {</div>
<div class="line"><span class="lineno"> 81</span> --<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a>; <span class="comment">// O(1) - traversing one step to the left child</span></div>
<div class="line"><span class="lineno"> 82</span> }</div>
<div class="line"><span class="lineno"> 83</span><span class="comment"></span> </div>
<div class="line"><span class="lineno"> 84</span><span class="comment"> /// However, if the new value goes to the right branch, the previous</span></div>
<div class="line"><span class="lineno"> 85</span><span class="comment"> /// median&#39;s right child is the new median in the balanced tree</span></div>
<div class="line"><span class="lineno"> 86</span><span class="comment"></span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (value &gt;= *<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a> &amp;&amp; sz % 2 != 0) {</div>
<div class="line"><span class="lineno"> 87</span> ++<a class="code hl_variable" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20">_itMedian</a>; <span class="comment">/// O(1) - traversing one step to the right child</span></div>
<div class="line"><span class="lineno"> 88</span> }</div>
<div class="line"><span class="lineno"> 89</span> }</div>
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/multiset/begin.html">std::multiset::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
<div class="ttc" id="ainsert_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/multiset/insert.html">std::multiset::insert</a></div><div class="ttdeci">T insert(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="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a3a7f57679e9cd6c9f042dfd0612b2b24_cgraph.svg" width="376" height="139"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
@@ -515,7 +537,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="../../d4/ded/namespaceprobability.html">probability</a></li><li class="navelem"><b>windowed_median</b></li><li class="navelem"><a class="el" href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html">WindowedMedian</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3 </li>
</ul>
</div>
</body>

View File

@@ -0,0 +1,6 @@
<map id="probability::windowed_median::WindowedMedian::insertToSorted" name="probability::windowed_median::WindowedMedian::insertToSorted">
<area shape="rect" id="node1" title="Inserts a value to a sorted multi&#45;value BST." alt="" coords="5,41,188,97"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/multiset/begin#" title=" " alt="" coords="237,5,370,32"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/multiset/insert#" title=" " alt="" coords="236,56,371,83"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/multiset/size#" title=" " alt="" coords="240,107,367,133"/>
</map>

View File

@@ -0,0 +1 @@
4ec7c5490da1c748f6dc08f43d0d3c03

View File

@@ -0,0 +1,69 @@
<?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.50.0 (20211204.2007)
-->
<!-- Title: probability::windowed_median::WindowedMedian::insertToSorted Pages: 1 -->
<svg width="282pt" height="104pt"
viewBox="0.00 0.00 282.00 104.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 100)">
<title>probability::windowed_median::WindowedMedian::insertToSorted</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-100 278,-100 278,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Inserts a value to a sorted multi&#45;value BST.">
<polygon fill="#bfbfbf" stroke="black" points="0,-27.5 0,-68.5 137,-68.5 137,-27.5 0,-27.5"/>
<text text-anchor="start" x="8" y="-56.5" font-family="Helvetica,sans-Serif" font-size="10.00">probability::windowed</text>
<text text-anchor="start" x="8" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">_median::WindowedMedian</text>
<text text-anchor="middle" x="68.5" y="-34.5" font-family="Helvetica,sans-Serif" font-size="10.00">::insertToSorted</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/multiset/begin#" xlink:title=" ">
<polygon fill="white" stroke="black" points="173.5,-76.5 173.5,-95.5 273.5,-95.5 273.5,-76.5 173.5,-76.5"/>
<text text-anchor="middle" x="223.5" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::multiset::begin</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="M137.05,-64.78C149.56,-67.88 162.39,-71.07 174.18,-74"/>
<polygon fill="midnightblue" stroke="midnightblue" points="173.69,-77.48 184.24,-76.5 175.38,-70.69 173.69,-77.48"/>
</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/multiset/insert#" xlink:title=" ">
<polygon fill="white" stroke="black" points="173,-38.5 173,-57.5 274,-57.5 274,-38.5 173,-38.5"/>
<text text-anchor="middle" x="223.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::multiset::insert</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="M137.05,-48C145.59,-48 154.28,-48 162.68,-48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="162.77,-51.5 172.77,-48 162.77,-44.5 162.77,-51.5"/>
</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/multiset/size#" xlink:title=" ">
<polygon fill="white" stroke="black" points="176,-0.5 176,-19.5 271,-19.5 271,-0.5 176,-0.5"/>
<text text-anchor="middle" x="223.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::multiset::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M137.05,-31.22C149.56,-28.12 162.39,-24.93 174.18,-22"/>
<polygon fill="midnightblue" stroke="midnightblue" points="175.38,-25.31 184.24,-19.5 173.69,-18.52 175.38,-25.31"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -1,4 +1,4 @@
<map id="probability::windowed_median::WindowedMedian::getMedianNaive" name="probability::windowed_median::WindowedMedian::getMedianNaive">
<area shape="rect" id="node1" title="A naive and inefficient method to obtain the median of the sliding window. Used for testing!" alt="" coords="5,5,188,61"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/list/sort.html#" title=" " alt="" coords="236,20,331,47"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/list/sort#" title=" " alt="" coords="236,20,331,47"/>
</map>

View File

@@ -1 +1 @@
19f277ade2370421aaae477775231f5b
60ec4a316eec249d6a705f50aff5a873

View File

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

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -1,9 +1,14 @@
<map id="probability::windowed_median::WindowedMedian::insert" name="probability::windowed_median::WindowedMedian::insert">
<area shape="rect" id="node1" title="Insert a new value to the stream." alt="" coords="5,169,188,225"/>
<area shape="rect" id="node2" href="$df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#af544e271ea19a6fd69a6b3ed6816453e" title="Erases a value from a sorted multi&#45;value BST." alt="" coords="236,5,419,61"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/list/front.html#" title=" " alt="" coords="278,85,377,112"/>
<area shape="rect" id="node4" href="$df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a3a7f57679e9cd6c9f042dfd0612b2b24" title="Inserts a value to a sorted multi&#45;value BST." alt="" coords="236,136,419,192"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/list/pop_front.html#" title=" " alt="" coords="264,216,391,243"/>
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/list/push_back.html#" title=" " alt="" coords="259,267,395,293"/>
<area shape="rect" id="node7" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/list/size.html#" title=" " alt="" coords="279,317,376,344"/>
<area shape="rect" id="node1" title="Insert a new value to the stream." alt="" coords="5,201,188,257"/>
<area shape="rect" id="node2" href="$df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#af544e271ea19a6fd69a6b3ed6816453e" title="Erases a value from a sorted multi&#45;value BST." alt="" coords="236,37,419,93"/>
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/list/front#" title=" " alt="" coords="278,117,377,144"/>
<area shape="rect" id="node7" href="$df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a3a7f57679e9cd6c9f042dfd0612b2b24" title="Inserts a value to a sorted multi&#45;value BST." alt="" coords="236,168,419,224"/>
<area shape="rect" id="node10" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/list/pop_front#" title=" " alt="" coords="264,248,391,275"/>
<area shape="rect" id="node11" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/list/push_back#" title=" " alt="" coords="259,299,395,325"/>
<area shape="rect" id="node12" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/list/size#" title=" " alt="" coords="279,349,376,376"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/multiset/erase#" title=" " alt="" coords="467,5,601,32"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/multiset/find#" title=" " alt="" coords="473,56,595,83"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/multiset/size#" title=" " alt="" coords="471,111,597,137"/>
<area shape="rect" id="node8" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/multiset/begin#" title=" " alt="" coords="467,168,601,195"/>
<area shape="rect" id="node9" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/multiset/insert#" title=" " alt="" coords="467,219,601,245"/>
</map>

View File

@@ -1 +1 @@
24134f419615a92131c5b25acb3a624d
358802a3025258a6fa35e02a4b1aa373

View File

@@ -4,11 +4,11 @@
<!-- Generated by graphviz version 2.50.0 (20211204.2007)
-->
<!-- Title: probability::windowed_median::WindowedMedian::insert Pages: 1 -->
<svg width="318pt" height="262pt"
viewBox="0.00 0.00 318.00 262.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 258)">
<svg width="455pt" height="286pt"
viewBox="0.00 0.00 455.00 286.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 282)">
<title>probability::windowed_median::WindowedMedian::insert</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-258 314,-258 314,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-282 451,-282 451,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
@@ -37,25 +37,25 @@
<path fill="none" stroke="midnightblue" d="M88.57,-130.56C108.25,-150.9 140.57,-181.98 173,-203 175.42,-204.57 177.94,-206.09 180.52,-207.57"/>
<polygon fill="midnightblue" stroke="midnightblue" points="179,-210.73 189.46,-212.4 182.32,-204.57 179,-210.73"/>
</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/list/front.html#" xlink:title=" ">
<!-- 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/list/front#" xlink:title=" ">
<polygon fill="white" stroke="black" points="204.5,-174.5 204.5,-193.5 278.5,-193.5 278.5,-174.5 204.5,-174.5"/>
<text text-anchor="middle" x="241.5" y="-181.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::list::front</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node1&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M104.05,-130.76C123.76,-141.98 149.2,-155.46 173,-165 179.84,-167.74 187.21,-170.25 194.49,-172.48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="193.71,-175.9 204.29,-175.34 195.68,-169.18 193.71,-175.9"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a3a7f57679e9cd6c9f042dfd0612b2b24" target="_top" xlink:title="Inserts a value to a sorted multi&#45;value BST.">
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a3a7f57679e9cd6c9f042dfd0612b2b24" target="_top" xlink:title="Inserts a value to a sorted multi&#45;value BST.">
<polygon fill="white" stroke="black" points="173,-114.5 173,-155.5 310,-155.5 310,-114.5 173,-114.5"/>
<text text-anchor="start" x="181" y="-143.5" font-family="Helvetica,sans-Serif" font-size="10.00">probability::windowed</text>
<text text-anchor="start" x="181" y="-132.5" font-family="Helvetica,sans-Serif" font-size="10.00">_median::WindowedMedian</text>
@@ -63,56 +63,137 @@
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;Node4</title>
<!-- Node1&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node1&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M137.08,-119.88C145.54,-121.12 154.24,-122.39 162.83,-123.64"/>
<polygon fill="midnightblue" stroke="midnightblue" points="162.45,-127.13 172.85,-125.11 163.46,-120.2 162.45,-127.13"/>
</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/list/pop_front.html#" xlink:title=" ">
<!-- Node10 -->
<g id="node10" class="node">
<title>Node10</title>
<g id="a_node10"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/list/pop_front#" xlink:title=" ">
<polygon fill="white" stroke="black" points="194,-76.5 194,-95.5 289,-95.5 289,-76.5 194,-76.5"/>
<text text-anchor="middle" x="241.5" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::list::pop_front</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node5</title>
<!-- Node1&#45;&gt;Node10 -->
<g id="edge10" class="edge">
<title>Node1&#45;&gt;Node10</title>
<path fill="none" stroke="midnightblue" d="M137.08,-100.51C152.56,-98.34 168.85,-96.06 183.81,-93.96"/>
<polygon fill="midnightblue" stroke="midnightblue" points="184.51,-97.39 193.93,-92.54 183.54,-90.46 184.51,-97.39"/>
</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/list/push_back.html#" xlink:title=" ">
<!-- Node11 -->
<g id="node11" class="node">
<title>Node11</title>
<g id="a_node11"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/list/push_back#" xlink:title=" ">
<polygon fill="white" stroke="black" points="190.5,-38.5 190.5,-57.5 292.5,-57.5 292.5,-38.5 190.5,-38.5"/>
<text text-anchor="middle" x="241.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::list::push_back</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node1&#45;&gt;Node6</title>
<!-- Node1&#45;&gt;Node11 -->
<g id="edge11" class="edge">
<title>Node1&#45;&gt;Node11</title>
<path fill="none" stroke="midnightblue" d="M115.67,-89.43C133.42,-81.9 153.97,-73.6 173,-67 179.57,-64.72 186.57,-62.51 193.47,-60.46"/>
<polygon fill="midnightblue" stroke="midnightblue" points="194.84,-63.71 203.47,-57.57 192.89,-56.98 194.84,-63.71"/>
</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/list/size.html#" xlink:title=" ">
<!-- Node12 -->
<g id="node12" class="node">
<title>Node12</title>
<g id="a_node12"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/list/size#" xlink:title=" ">
<polygon fill="white" stroke="black" points="205,-0.5 205,-19.5 278,-19.5 278,-0.5 205,-0.5"/>
<text text-anchor="middle" x="241.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::list::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node1&#45;&gt;Node7</title>
<!-- Node1&#45;&gt;Node12 -->
<g id="edge12" class="edge">
<title>Node1&#45;&gt;Node12</title>
<path fill="none" stroke="midnightblue" d="M90.77,-89.24C110.57,-70.97 141.66,-44.89 173,-29 179.87,-25.52 187.47,-22.59 195.01,-20.17"/>
<polygon fill="midnightblue" stroke="midnightblue" points="196.24,-23.46 204.84,-17.26 194.26,-16.74 196.24,-23.46"/>
</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/multiset/erase#" xlink:title=" ">
<polygon fill="white" stroke="black" points="346,-258.5 346,-277.5 447,-277.5 447,-258.5 346,-258.5"/>
<text text-anchor="middle" x="396.5" y="-265.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::multiset::erase</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="M310.05,-248.45C321.45,-251.06 333.12,-253.73 344.03,-256.23"/>
<polygon fill="midnightblue" stroke="midnightblue" points="343.27,-259.64 353.8,-258.46 344.83,-252.82 343.27,-259.64"/>
</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/multiset/find#" xlink:title=" ">
<polygon fill="white" stroke="black" points="350.5,-220.5 350.5,-239.5 442.5,-239.5 442.5,-220.5 350.5,-220.5"/>
<text text-anchor="middle" x="396.5" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::multiset::find</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node2&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M310.05,-231.68C320.15,-231.48 330.46,-231.28 340.27,-231.08"/>
<polygon fill="midnightblue" stroke="midnightblue" points="340.34,-234.58 350.27,-230.89 340.21,-227.58 340.34,-234.58"/>
</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/multiset/size#" xlink:title=" ">
<polygon fill="white" stroke="black" points="349,-179.5 349,-198.5 444,-198.5 444,-179.5 349,-179.5"/>
<text text-anchor="middle" x="396.5" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::multiset::size</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node2&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M310.05,-213.57C324.47,-209.43 339.32,-205.16 352.51,-201.36"/>
<polygon fill="midnightblue" stroke="midnightblue" points="353.59,-204.69 362.24,-198.57 351.66,-197.97 353.59,-204.69"/>
</g>
<!-- Node7&#45;&gt;Node5 -->
<g id="edge9" class="edge">
<title>Node7&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M300.78,-155.57C320.26,-162.45 341.42,-169.91 358.79,-176.04"/>
<polygon fill="midnightblue" stroke="midnightblue" points="357.94,-179.45 368.53,-179.48 360.27,-172.85 357.94,-179.45"/>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<title>Node8</title>
<g id="a_node8"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/multiset/begin#" xlink:title=" ">
<polygon fill="white" stroke="black" points="346.5,-136.5 346.5,-155.5 446.5,-155.5 446.5,-136.5 346.5,-136.5"/>
<text text-anchor="middle" x="396.5" y="-143.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::multiset::begin</text>
</a>
</g>
</g>
<!-- Node7&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<title>Node7&#45;&gt;Node8</title>
<path fill="none" stroke="midnightblue" d="M310.05,-139.86C318.7,-140.48 327.51,-141.11 336.02,-141.72"/>
<polygon fill="midnightblue" stroke="midnightblue" points="336,-145.23 346.22,-142.46 336.5,-138.25 336,-145.23"/>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<title>Node9</title>
<g id="a_node9"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/multiset/insert#" xlink:title=" ">
<polygon fill="white" stroke="black" points="346,-98.5 346,-117.5 447,-117.5 447,-98.5 346,-98.5"/>
<text text-anchor="middle" x="396.5" y="-105.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::multiset::insert</text>
</a>
</g>
</g>
<!-- Node7&#45;&gt;Node9 -->
<g id="edge8" class="edge">
<title>Node7&#45;&gt;Node9</title>
<path fill="none" stroke="midnightblue" d="M310.05,-123.08C318.59,-121.57 327.28,-120.04 335.68,-118.56"/>
<polygon fill="midnightblue" stroke="midnightblue" points="336.53,-121.96 345.77,-116.78 335.31,-115.07 336.53,-121.96"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,4 @@
<map id="probability::windowed_median::WindowedMedian::getMedian" name="probability::windowed_median::WindowedMedian::getMedian">
<area shape="rect" id="node1" title="Gets the median of the values in the sliding window." alt="" coords="5,5,188,61"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/multiset/size#" title=" " alt="" coords="236,20,363,47"/>
</map>

View File

@@ -0,0 +1 @@
f214412b290472ad813379143944754f

View File

@@ -0,0 +1,39 @@
<?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.50.0 (20211204.2007)
-->
<!-- Title: probability::windowed_median::WindowedMedian::getMedian 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)">
<title>probability::windowed_median::WindowedMedian::getMedian</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-46 272,-46 272,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Gets the median of the values in the sliding window.">
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-41.5 137,-41.5 137,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">probability::windowed</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_median::WindowedMedian</text>
<text text-anchor="middle" x="68.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::getMedian</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/multiset/size#" xlink:title=" ">
<polygon fill="white" stroke="black" points="173,-11.5 173,-30.5 268,-30.5 268,-11.5 173,-11.5"/>
<text text-anchor="middle" x="220.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::multiset::size</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="M137.04,-21C145.66,-21 154.42,-21 162.85,-21"/>
<polygon fill="midnightblue" stroke="midnightblue" points="162.94,-24.5 172.94,-21 162.93,-17.5 162.94,-24.5"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,6 @@
<map id="probability::windowed_median::WindowedMedian::eraseFromSorted" name="probability::windowed_median::WindowedMedian::eraseFromSorted">
<area shape="rect" id="node1" title="Erases a value from a sorted multi&#45;value BST." alt="" coords="5,41,188,97"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/multiset/erase#" title=" " alt="" coords="236,5,371,32"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/multiset/find#" title=" " alt="" coords="242,56,365,83"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/multiset/size#" title=" " alt="" coords="240,107,367,133"/>
</map>

View File

@@ -0,0 +1 @@
460f85bf3f305720f4b853a53a3d8a61

View File

@@ -0,0 +1,69 @@
<?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.50.0 (20211204.2007)
-->
<!-- Title: probability::windowed_median::WindowedMedian::eraseFromSorted Pages: 1 -->
<svg width="282pt" height="104pt"
viewBox="0.00 0.00 282.00 104.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 100)">
<title>probability::windowed_median::WindowedMedian::eraseFromSorted</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-100 278,-100 278,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Erases a value from a sorted multi&#45;value BST.">
<polygon fill="#bfbfbf" stroke="black" points="0,-27.5 0,-68.5 137,-68.5 137,-27.5 0,-27.5"/>
<text text-anchor="start" x="8" y="-56.5" font-family="Helvetica,sans-Serif" font-size="10.00">probability::windowed</text>
<text text-anchor="start" x="8" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">_median::WindowedMedian</text>
<text text-anchor="middle" x="68.5" y="-34.5" font-family="Helvetica,sans-Serif" font-size="10.00">::eraseFromSorted</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/multiset/erase#" xlink:title=" ">
<polygon fill="white" stroke="black" points="173,-76.5 173,-95.5 274,-95.5 274,-76.5 173,-76.5"/>
<text text-anchor="middle" x="223.5" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::multiset::erase</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="M137.05,-64.78C149.56,-67.88 162.39,-71.07 174.18,-74"/>
<polygon fill="midnightblue" stroke="midnightblue" points="173.69,-77.48 184.24,-76.5 175.38,-70.69 173.69,-77.48"/>
</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/multiset/find#" xlink:title=" ">
<polygon fill="white" stroke="black" points="177.5,-38.5 177.5,-57.5 269.5,-57.5 269.5,-38.5 177.5,-38.5"/>
<text text-anchor="middle" x="223.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::multiset::find</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="M137.05,-48C147.15,-48 157.46,-48 167.27,-48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="167.27,-51.5 177.27,-48 167.27,-44.5 167.27,-51.5"/>
</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/multiset/size#" xlink:title=" ">
<polygon fill="white" stroke="black" points="176,-0.5 176,-19.5 271,-19.5 271,-0.5 176,-0.5"/>
<text text-anchor="middle" x="223.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::multiset::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M137.05,-31.22C149.56,-28.12 162.39,-24.93 174.18,-22"/>
<polygon fill="midnightblue" stroke="midnightblue" points="175.38,-25.31 184.24,-19.5 173.69,-18.52 175.38,-25.31"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB