Documentation for 0953376d31

This commit is contained in:
github-actions
2023-06-16 21:18:14 +00:00
parent 26f1eee566
commit 14deeecd50
7241 changed files with 234176 additions and 54779 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.6"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: data_structures::tree_234::Tree234 Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -41,7 +41,7 @@ MathJax.Hub.Config({
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.6 -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -111,8 +111,7 @@ $(document).ready(function(){initNavTree('d3/d95/classdata__structures_1_1tree__
<div class="dynheader">
Collaboration diagram for data_structures::tree_234::Tree234:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph.svg" width="355" height="332"><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" frameborder="0" src="../../da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph.svg" width="355" height="332"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
<center><span class="legend">[<a target="top" href="../../graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
@@ -221,8 +220,8 @@ Private Attributes</h2></td></tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 541</span>{ <a class="code hl_function" href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a273511e84a5243ffffe81be28bd24855">DeleteNode</a>(<a class="code hl_variable" href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a348ea76c7629b2dcf740be062f970a36">root_</a>); }</div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a273511e84a5243ffffe81be28bd24855"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a273511e84a5243ffffe81be28bd24855">data_structures::tree_234::Tree234::DeleteNode</a></div><div class="ttdeci">void DeleteNode(Node *tree)</div><div class="ttdoc">Recursive release the tree.</div><div class="ttdef"><b>Definition:</b> tree_234.cpp:547</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a348ea76c7629b2dcf740be062f970a36"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a348ea76c7629b2dcf740be062f970a36">data_structures::tree_234::Tree234::root_</a></div><div class="ttdeci">Node * root_</div><div class="ttdoc">root node of the tree</div><div class="ttdef"><b>Definition:</b> tree_234.cpp:538</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a273511e84a5243ffffe81be28bd24855"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a273511e84a5243ffffe81be28bd24855">data_structures::tree_234::Tree234::DeleteNode</a></div><div class="ttdeci">void DeleteNode(Node *tree)</div><div class="ttdoc">Recursive release the tree.</div><div class="ttdef"><b>Definition</b> tree_234.cpp:547</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a348ea76c7629b2dcf740be062f970a36"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a348ea76c7629b2dcf740be062f970a36">data_structures::tree_234::Tree234::root_</a></div><div class="ttdeci">Node * root_</div><div class="ttdoc">root node of the tree</div><div class="ttdef"><b>Definition</b> tree_234.cpp:538</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -271,8 +270,7 @@ Private Attributes</h2></td></tr>
</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="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph.svg" width="392" height="118"><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" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph.svg" width="392" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
@@ -324,8 +322,7 @@ Here is the call graph for this function:</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph.svg" width="476" height="118"><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" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph.svg" width="476" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
@@ -377,8 +374,7 @@ Here is the call graph for this function:</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph.svg" width="464" height="118"><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" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph.svg" width="464" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
@@ -407,12 +403,11 @@ Here is the call graph for this function:</div>
</dd>
</dl>
<div class="fragment"><div class="line"><span class="lineno"> 655</span>{ <a class="code hl_function" href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d">InsertPreSplit</a>(item); }</div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a07811b3c564a3a443b106c9aa717629d"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d">data_structures::tree_234::Tree234::InsertPreSplit</a></div><div class="ttdeci">void InsertPreSplit(int64_t item)</div><div class="ttdoc">A insert implementation of pre-split.</div><div class="ttdef"><b>Definition:</b> tree_234.cpp:585</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a07811b3c564a3a443b106c9aa717629d"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d">data_structures::tree_234::Tree234::InsertPreSplit</a></div><div class="ttdeci">void InsertPreSplit(int64_t item)</div><div class="ttdoc">A insert implementation of pre-split.</div><div class="ttdef"><b>Definition</b> tree_234.cpp:585</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph.svg" width="100%" height="485"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph.svg" width="100%" height="485"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
@@ -483,17 +478,16 @@ Here is the call graph for this function:</div>
<div class="line"><span class="lineno"> 683</span> </div>
<div class="line"><span class="lineno"> 684</span> <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><span class="lineno"> 685</span>}</div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a11f0d016dff7f7e62b3dddb9fdf47805"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a11f0d016dff7f7e62b3dddb9fdf47805">data_structures::tree_234::Tree234::MergeNode</a></div><div class="ttdeci">Node * MergeNode(Node *dst_node, Node *node)</div><div class="ttdoc">A helper function used during post-merge insert.</div><div class="ttdef"><b>Definition:</b> tree_234.cpp:700</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a6749ebb40710c9752a2771eda03c6b3e"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e">data_structures::tree_234::Tree234::Insert</a></div><div class="ttdeci">void Insert(int64_t item)</div><div class="ttdoc">Insert item to tree.</div><div class="ttdef"><b>Definition:</b> tree_234.cpp:655</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a11f0d016dff7f7e62b3dddb9fdf47805"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a11f0d016dff7f7e62b3dddb9fdf47805">data_structures::tree_234::Tree234::MergeNode</a></div><div class="ttdeci">Node * MergeNode(Node *dst_node, Node *node)</div><div class="ttdoc">A helper function used during post-merge insert.</div><div class="ttdef"><b>Definition</b> tree_234.cpp:700</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a6749ebb40710c9752a2771eda03c6b3e"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e">data_structures::tree_234::Tree234::Insert</a></div><div class="ttdeci">void Insert(int64_t item)</div><div class="ttdoc">Insert item to tree.</div><div class="ttdef"><b>Definition</b> tree_234.cpp:655</div></div>
<div class="ttc" id="aget_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html">std::unique_ptr::get</a></div><div class="ttdeci">T get(T... args)</div></div>
<div class="ttc" id="areset_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/unique_ptr/reset.html">std::unique_ptr::reset</a></div><div class="ttdeci">T reset(T... args)</div></div>
<div class="ttc" id="astruct_node_html"><div class="ttname"><a href="../../db/d8b/struct_node.html">Node</a></div><div class="ttdef"><b>Definition:</b> linkedlist_implentation_usingarray.cpp:14</div></div>
<div class="ttc" id="astruct_node_html"><div class="ttname"><a href="../../db/d8b/struct_node.html">Node</a></div><div class="ttdef"><b>Definition</b> linkedlist_implentation_usingarray.cpp:14</div></div>
<div class="ttc" id="aunique_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr</a></div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
@@ -545,8 +539,7 @@ Here is the call graph for this function:</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph.svg" width="100%" height="485"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph.svg" width="100%" height="485"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
@@ -629,14 +622,13 @@ Here is the call graph for this function:</div>
<div class="line"><span class="lineno"> 629</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> = parent-&gt;GetNextPossibleChild(item);</div>
<div class="line"><span class="lineno"> 630</span> }</div>
<div class="line"><span class="lineno"> 631</span>}</div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a370b625ca9f16bbef2b65e024ef78ea9"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9">data_structures::tree_234::Tree234::SplitNode</a></div><div class="ttdeci">Node * SplitNode(Node *node)</div><div class="ttdoc">Split a 4-node to 1 parent and 2 children, and return the parent node.</div><div class="ttdef"><b>Definition:</b> tree_234.cpp:745</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_ad37e29e2a4a6cc0eb65cbd5595e1da95"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95">data_structures::tree_234::Tree234::MergeNodeNotFull</a></div><div class="ttdeci">void MergeNodeNotFull(Node *dst_node, Node *node)</div><div class="ttdoc">Merge node to a not-full target node.</div><div class="ttdef"><b>Definition:</b> tree_234.cpp:730</div></div>
<div class="ttc" id="astructnode_html"><div class="ttname"><a href="../../d5/da1/structnode.html">node</a></div><div class="ttdef"><b>Definition:</b> binary_search_tree.cpp:11</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a370b625ca9f16bbef2b65e024ef78ea9"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9">data_structures::tree_234::Tree234::SplitNode</a></div><div class="ttdeci">Node * SplitNode(Node *node)</div><div class="ttdoc">Split a 4-node to 1 parent and 2 children, and return the parent node.</div><div class="ttdef"><b>Definition</b> tree_234.cpp:745</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_ad37e29e2a4a6cc0eb65cbd5595e1da95"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95">data_structures::tree_234::Tree234::MergeNodeNotFull</a></div><div class="ttdeci">void MergeNodeNotFull(Node *dst_node, Node *node)</div><div class="ttdoc">Merge node to a not-full target node.</div><div class="ttdef"><b>Definition</b> tree_234.cpp:730</div></div>
<div class="ttc" id="astructnode_html"><div class="ttname"><a href="../../d5/da1/structnode.html">node</a></div><div class="ttdef"><b>Definition</b> binary_search_tree.cpp:11</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph.svg" width="100%" height="485"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph.svg" width="100%" height="485"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
@@ -791,8 +783,7 @@ Here is the call graph for this function:</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph.svg" width="359" height="379"><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" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph.svg" width="359" height="379"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
@@ -872,8 +863,7 @@ Here is the call graph for this function:</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph.svg" width="100%" height="561"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph.svg" width="100%" height="561"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
@@ -940,8 +930,7 @@ Here is the call graph for this function:</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph.svg" width="100%" height="479"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph.svg" width="100%" height="479"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
@@ -1055,7 +1044,7 @@ Here is the call graph for this function:</div>
<div class="line"><span class="lineno"> 1211</span>}</div>
<div class="ttc" id="abasic_ofstream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ofstream.html">std::ofstream</a></div></div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_af260f0760344771bf8fce4fc9b1739be"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#af260f0760344771bf8fce4fc9b1739be">data_structures::tree_234::Tree234::PrintNode</a></div><div class="ttdeci">void PrintNode(std::ofstream &amp;ofs, Node *node, int64_t parent_index, int64_t index, int8_t parent_child_index)</div><div class="ttdoc">Print the tree to a dot file. You can convert it to picture with graphviz.</div><div class="ttdef"><b>Definition:</b> tree_234.cpp:1226</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_af260f0760344771bf8fce4fc9b1739be"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#af260f0760344771bf8fce4fc9b1739be">data_structures::tree_234::Tree234::PrintNode</a></div><div class="ttdeci">void PrintNode(std::ofstream &amp;ofs, Node *node, int64_t parent_index, int64_t index, int8_t parent_child_index)</div><div class="ttdoc">Print the tree to a dot file. You can convert it to picture with graphviz.</div><div class="ttdef"><b>Definition</b> tree_234.cpp:1226</div></div>
<div class="ttc" id="aclose_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ofstream/close.html">std::ofstream::close</a></div><div class="ttdeci">T close(T... args)</div></div>
<div class="ttc" id="aendl_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div><div class="ttdeci">T endl(T... args)</div></div>
<div class="ttc" id="aopen_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ofstream/open.html">std::ofstream::open</a></div><div class="ttdeci">T open(T... args)</div></div>
@@ -1063,8 +1052,7 @@ Here is the call graph for this function:</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph.svg" width="371" height="200"><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" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph.svg" width="371" height="200"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
@@ -1190,12 +1178,11 @@ Here is the call graph for this function:</div>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if item found and removed, false otherwise </dd></dl>
<div class="fragment"><div class="line"><span class="lineno"> 929</span>{ <span class="keywordflow">return</span> <a class="code hl_function" href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a61dd051a74e5f36c8dc03dae8dca6ef4">RemovePreMerge</a>(<a class="code hl_variable" href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a348ea76c7629b2dcf740be062f970a36">root_</a>, item); }</div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a61dd051a74e5f36c8dc03dae8dca6ef4"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a61dd051a74e5f36c8dc03dae8dca6ef4">data_structures::tree_234::Tree234::RemovePreMerge</a></div><div class="ttdeci">bool RemovePreMerge(Node *node, int64_t item)</div><div class="ttdoc">Main function implement the pre-merge remove operation.</div><div class="ttdef"><b>Definition:</b> tree_234.cpp:937</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a61dd051a74e5f36c8dc03dae8dca6ef4"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a61dd051a74e5f36c8dc03dae8dca6ef4">data_structures::tree_234::Tree234::RemovePreMerge</a></div><div class="ttdeci">bool RemovePreMerge(Node *node, int64_t item)</div><div class="ttdoc">Main function implement the pre-merge remove operation.</div><div class="ttdef"><b>Definition</b> tree_234.cpp:937</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
@@ -1398,18 +1385,17 @@ Here is the call graph for this function:</div>
<div class="line"><span class="lineno"> 1089</span> </div>
<div class="line"><span class="lineno"> 1090</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 1091</span>}</div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a36f4d5f603f7edb7db7c73fb53ba14e9"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9">data_structures::tree_234::Tree234::Merge</a></div><div class="ttdeci">Node * Merge(Node *parent, int8_t index)</div><div class="ttdoc">Merge the item at index of the parent node, and its left and right child.</div><div class="ttdef"><b>Definition:</b> tree_234.cpp:895</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a65a1235659356166a3e9b451c64fcc36"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36">data_structures::tree_234::Tree234::GetTreeMinItem</a></div><div class="ttdeci">int64_t GetTreeMinItem(Node *tree)</div><div class="ttdoc">Get the min item of the tree.</div><div class="ttdef"><b>Definition:</b> tree_234.cpp:1115</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_ac5361479dd996eb331759f33808657d9"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9">data_structures::tree_234::Tree234::TryLeftRotate</a></div><div class="ttdeci">bool TryLeftRotate(Node *parent, Node *to_child)</div><div class="ttdoc">A handy function to try if we can do a left rotate to the target node.</div><div class="ttdef"><b>Definition:</b> tree_234.cpp:778</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_ac85ba5abfd6d34dcd908b2afe6464657"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657">data_structures::tree_234::Tree234::GetTreeMaxItem</a></div><div class="ttdeci">int64_t GetTreeMaxItem(Node *tree)</div><div class="ttdoc">Get the max item of the tree.</div><div class="ttdef"><b>Definition:</b> tree_234.cpp:1098</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_ae58dca20f08eaf9313f6e7b0869c2d0e"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e">data_structures::tree_234::Tree234::LeftRotate</a></div><div class="ttdeci">void LeftRotate(Node *parent, int8_t index)</div><div class="ttdoc">Do the actual left rotate operation.</div><div class="ttdef"><b>Definition:</b> tree_234.cpp:869</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_ae68f8e62be02657c1287def6b38d7cc9"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9">data_structures::tree_234::Tree234::RightRotate</a></div><div class="ttdeci">void RightRotate(Node *parent, int8_t index)</div><div class="ttdoc">Do the actual right rotate operation.</div><div class="ttdef"><b>Definition:</b> tree_234.cpp:845</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_aec0642d1d151521ca7c70ea85cdb15d3"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3">data_structures::tree_234::Tree234::TryRightRotate</a></div><div class="ttdeci">bool TryRightRotate(Node *parent, Node *to_child)</div><div class="ttdoc">A handy function to try if we can do a right rotate to the target node.</div><div class="ttdef"><b>Definition:</b> tree_234.cpp:813</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a36f4d5f603f7edb7db7c73fb53ba14e9"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9">data_structures::tree_234::Tree234::Merge</a></div><div class="ttdeci">Node * Merge(Node *parent, int8_t index)</div><div class="ttdoc">Merge the item at index of the parent node, and its left and right child.</div><div class="ttdef"><b>Definition</b> tree_234.cpp:895</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a65a1235659356166a3e9b451c64fcc36"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36">data_structures::tree_234::Tree234::GetTreeMinItem</a></div><div class="ttdeci">int64_t GetTreeMinItem(Node *tree)</div><div class="ttdoc">Get the min item of the tree.</div><div class="ttdef"><b>Definition</b> tree_234.cpp:1115</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_ac5361479dd996eb331759f33808657d9"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9">data_structures::tree_234::Tree234::TryLeftRotate</a></div><div class="ttdeci">bool TryLeftRotate(Node *parent, Node *to_child)</div><div class="ttdoc">A handy function to try if we can do a left rotate to the target node.</div><div class="ttdef"><b>Definition</b> tree_234.cpp:778</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_ac85ba5abfd6d34dcd908b2afe6464657"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657">data_structures::tree_234::Tree234::GetTreeMaxItem</a></div><div class="ttdeci">int64_t GetTreeMaxItem(Node *tree)</div><div class="ttdoc">Get the max item of the tree.</div><div class="ttdef"><b>Definition</b> tree_234.cpp:1098</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_ae58dca20f08eaf9313f6e7b0869c2d0e"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e">data_structures::tree_234::Tree234::LeftRotate</a></div><div class="ttdeci">void LeftRotate(Node *parent, int8_t index)</div><div class="ttdoc">Do the actual left rotate operation.</div><div class="ttdef"><b>Definition</b> tree_234.cpp:869</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_ae68f8e62be02657c1287def6b38d7cc9"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9">data_structures::tree_234::Tree234::RightRotate</a></div><div class="ttdeci">void RightRotate(Node *parent, int8_t index)</div><div class="ttdoc">Do the actual right rotate operation.</div><div class="ttdef"><b>Definition</b> tree_234.cpp:845</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_aec0642d1d151521ca7c70ea85cdb15d3"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3">data_structures::tree_234::Tree234::TryRightRotate</a></div><div class="ttdeci">bool TryRightRotate(Node *parent, Node *to_child)</div><div class="ttdoc">A handy function to try if we can do a right rotate to the target node.</div><div class="ttdef"><b>Definition</b> tree_234.cpp:813</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
@@ -1559,12 +1545,11 @@ Here is the call graph for this function:</div>
<div class="line"><span class="lineno"> 563</span> <a class="code hl_function" href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a84ab7b4fe7442b5e2eeed8c050bb86bd">Traverse</a>(<a class="code hl_variable" href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a348ea76c7629b2dcf740be062f970a36">root_</a>);</div>
<div class="line"><span class="lineno"> 564</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 565</span>}</div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a84ab7b4fe7442b5e2eeed8c050bb86bd"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a84ab7b4fe7442b5e2eeed8c050bb86bd">data_structures::tree_234::Tree234::Traverse</a></div><div class="ttdeci">void Traverse()</div><div class="ttdoc">In-order traverse.</div><div class="ttdef"><b>Definition:</b> tree_234.cpp:562</div></div>
<div class="ttc" id="aclassdata__structures_1_1tree__234_1_1_tree234_html_a84ab7b4fe7442b5e2eeed8c050bb86bd"><div class="ttname"><a href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a84ab7b4fe7442b5e2eeed8c050bb86bd">data_structures::tree_234::Tree234::Traverse</a></div><div class="ttdeci">void Traverse()</div><div class="ttdoc">In-order traverse.</div><div class="ttdef"><b>Definition</b> tree_234.cpp:562</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="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph.svg" width="294" height="76"><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" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph.svg" width="294" height="76"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
@@ -1616,8 +1601,7 @@ Here is the call graph for this function:</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph.svg" width="506" height="76"><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" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph.svg" width="506" height="76"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
@@ -1697,8 +1681,7 @@ Here is the call graph for this function:</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph.svg" width="424" height="118"><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" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph.svg" width="424" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
@@ -1778,8 +1761,7 @@ Here is the call graph for this function:</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph.svg" width="443" height="118"><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" frameborder="0" src="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph.svg" width="443" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
@@ -1793,7 +1775,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d5/d3c/namespacedata__structures.html">data_structures</a></li><li class="navelem"><b>tree_234</b></li><li class="navelem"><a class="el" href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html">Tree234</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.6 </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.7 </li>
</ul>
</div>
</body>

View File

@@ -1,18 +1,39 @@
<map id="data_structures::tree_234::Tree234::Insert" name="data_structures::tree_234::Tree234::Insert">
<area shape="rect" id="node1" title="A helper function used by post&#45;merge insert." alt="" coords="5,143,151,183"/>
<area shape="rect" id="node2" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" title="Check if item is in the node." alt="" coords="1182,5,1330,46"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/memory/unique_ptr/get.html#" title=" " alt="" coords="725,64,859,89"/>
<area shape="rect" id="node4" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a91322b3bb0b2b2175eb56e9e10d7db46" title="Get next node which is possibly contains item." alt="" coords="199,229,394,284"/>
<area shape="rect" id="node5" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e" title="Insert item to tree." alt="" coords="224,113,369,154"/>
<area shape="rect" id="node13" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a11f0d016dff7f7e62b3dddb9fdf47805" title="A helper function used during post&#45;merge insert." alt="" coords="448,207,627,247"/>
<area shape="rect" id="node16" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/memory/unique_ptr/reset.html#" title=" " alt="" coords="224,309,369,335"/>
<area shape="rect" id="node6" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" title="A insert implementation of pre&#45;split." alt="" coords="442,113,633,154"/>
<area shape="rect" id="node7" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" title="Merge node to a not&#45;full target node." alt="" coords="681,179,903,219"/>
<area shape="rect" id="node12" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node." alt="" coords="707,113,877,154"/>
<area shape="rect" id="node8" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" title="Insert item to the proper position of the node and return the position index." alt="" coords="951,63,1106,103"/>
<area shape="rect" id="node10" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" title="Check if node is a full (4&#45;node)" alt="" coords="1185,185,1326,226"/>
<area shape="rect" id="node11" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="955,128,1102,169"/>
<area shape="rect" id="node9" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" title="Insert a value to the index position." alt="" coords="1154,71,1357,111"/>
<area shape="rect" id="node14" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" title="Get the child pointer at position of index." alt="" coords="718,359,866,399"/>
<area shape="rect" id="node15" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" title="Get item of the \index index." alt="" coords="720,293,864,334"/>
<area shape="rect" id="Node000001" title="A helper function used by post&#45;merge insert." alt="" coords="5,143,151,183"/>
<area shape="rect" id="Node000002" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" title="Check if item is in the node." alt="" coords="1182,5,1330,46"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="97,140,140,101,168,82,198,66,288,34,363,22,439,21,536,23,793,23,1166,23,1166,28,793,28,536,28,439,27,363,28,290,40,200,71,171,86,143,105,100,144"/>
<area shape="rect" id="Node000003" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/memory/unique_ptr/get.html#" title=" " alt="" coords="725,64,859,89"/>
<area shape="poly" id="edge2_Node000001_Node000003" title=" " alt="" coords="109,140,150,117,198,99,267,84,337,73,478,62,607,61,710,66,710,72,607,67,478,67,338,78,267,89,199,104,153,122,112,144"/>
<area shape="rect" id="Node000004" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a91322b3bb0b2b2175eb56e9e10d7db46" title="Get next node which is possibly contains item." alt="" coords="199,229,394,284"/>
<area shape="poly" id="edge3_Node000001_Node000004" title=" " alt="" coords="129,181,217,220,215,225,127,186"/>
<area shape="rect" id="Node000005" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e" title="Insert item to tree." alt="" coords="224,113,369,154"/>
<area shape="poly" id="edge4_Node000001_Node000005" title=" " alt="" coords="151,151,208,143,209,148,152,156"/>
<area shape="rect" id="Node000013" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a11f0d016dff7f7e62b3dddb9fdf47805" title="A helper function used during post&#45;merge insert." alt="" coords="448,207,627,247"/>
<area shape="poly" id="edge15_Node000001_Node000013" title=" " alt="" coords="152,170,434,210,433,215,151,176"/>
<area shape="rect" id="Node000016" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/memory/unique_ptr/reset.html#" title=" " alt="" coords="224,309,369,335"/>
<area shape="poly" id="edge21_Node000001_Node000016" title=" " alt="" coords="94,182,137,238,166,269,200,294,212,301,210,305,197,299,163,273,133,242,90,185"/>
<area shape="rect" id="Node000006" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" title="A insert implementation of pre&#45;split." alt="" coords="442,113,633,154"/>
<area shape="poly" id="edge5_Node000005_Node000006" title=" " alt="" coords="369,131,427,131,427,136,369,136"/>
<area shape="poly" id="edge6_Node000006_Node000003" title=" " alt="" coords="630,110,717,90,718,96,632,115"/>
<area shape="rect" id="Node000007" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" title="Merge node to a not&#45;full target node." alt="" coords="681,179,903,219"/>
<area shape="poly" id="edge7_Node000006_Node000007" title=" " alt="" coords="620,152,697,172,695,177,619,157"/>
<area shape="rect" id="Node000012" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node." alt="" coords="707,113,877,154"/>
<area shape="poly" id="edge14_Node000006_Node000012" title=" " alt="" coords="634,131,692,131,692,136,634,136"/>
<area shape="rect" id="Node000008" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" title="Insert item to the proper position of the node and return the position index." alt="" coords="951,63,1106,103"/>
<area shape="poly" id="edge8_Node000007_Node000008" title=" " alt="" coords="876,176,901,163,916,152,925,140,934,127,949,114,958,108,961,113,952,118,938,131,929,143,920,156,904,168,879,180"/>
<area shape="rect" id="Node000010" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" title="Check if node is a full (4&#45;node)" alt="" coords="1185,185,1326,226"/>
<area shape="poly" id="edge12_Node000007_Node000010" title=" " alt="" coords="903,198,1170,202,1170,207,903,203"/>
<area shape="rect" id="Node000011" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="955,128,1102,169"/>
<area shape="poly" id="edge13_Node000007_Node000011" title=" " alt="" coords="889,175,940,164,941,170,891,181"/>
<area shape="poly" id="edge9_Node000008_Node000002" title=" " alt="" coords="1106,61,1167,45,1168,50,1107,66"/>
<area shape="rect" id="Node000009" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" title="Insert a value to the index position." alt="" coords="1154,71,1357,111"/>
<area shape="poly" id="edge10_Node000008_Node000009" title=" " alt="" coords="1106,83,1139,84,1139,90,1106,88"/>
<area shape="poly" id="edge11_Node000008_Node000010" title=" " alt="" coords="1081,102,1107,114,1212,175,1209,179,1105,119,1079,106"/>
<area shape="poly" id="edge19_Node000013_Node000007" title=" " alt="" coords="627,214,666,210,667,215,628,220"/>
<area shape="poly" id="edge18_Node000013_Node000010" title=" " alt="" coords="628,227,681,228,792,230,903,228,1044,221,1170,211,1170,216,1044,226,903,234,792,236,681,234,628,233"/>
<area shape="poly" id="edge20_Node000013_Node000012" title=" " alt="" coords="584,204,680,165,704,156,706,161,682,169,586,209"/>
<area shape="rect" id="Node000014" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" title="Get the child pointer at position of index." alt="" coords="718,359,866,399"/>
<area shape="poly" id="edge16_Node000013_Node000014" title=" " alt="" coords="561,246,613,295,647,321,683,343,705,354,703,359,680,348,644,325,610,299,557,250"/>
<area shape="rect" id="Node000015" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" title="Get item of the \index index." alt="" coords="720,293,864,334"/>
<area shape="poly" id="edge17_Node000013_Node000015" title=" " alt="" coords="601,245,717,285,715,290,599,251"/>
</map>

View File

@@ -1 +1 @@
d2c935a5d193051d3abf0d3b705fda72
8dc392f2cbd5a2e8da1b305ad1b38d4a

View File

@@ -5,59 +5,59 @@
-->
<!-- Title: data_structures::tree_234::Tree234::Insert Pages: 1 -->
<!--zoomable 304 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="text/javascript"><![CDATA[
var edges = document.getElementsByTagName('g');
if (edges && edges.length) {
for (var i=0;i<edges.length;i++) {
if (edges[i].id.substr(0,4)=='edge') {
edges[i].setAttribute('class','edge');
}
}
}
]]></script>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/></use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/></use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="arrowUp" transform="translate(30 24)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" transform="rotate(90) translate(36 -43)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" transform="rotate(180) translate(-30 -48)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" transform="rotate(270) translate(-36 17)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040"><set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/></use>
</g>
</defs>
<script type="application/ecmascript">
var viewWidth = 1022;
var viewHeight = 304;
var sectionId = 'dynsection-5';
</script>
<script xlink:href="../../svgpan.js"/>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>data_structures::tree_234::Tree234::Insert</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="A helper function used by post&#45;merge insert.">
<g id="a_Node000001"><a xlink:title="A helper function used by post&#45;merge insert.">
<polygon fill="#999999" stroke="#666666" points="109,-192.5 0,-192.5 0,-162 109,-162 109,-192.5"/>
<text text-anchor="start" x="8" y="-179" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="54.5" y="-167.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Insert</text>
@@ -65,9 +65,9 @@ var sectionId = 'dynsection-5';
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<polygon fill="white" stroke="#666666" points="993.38,-295.5 882.12,-295.5 882.12,-265 993.38,-265 993.38,-295.5"/>
<text text-anchor="start" x="890.12" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="937.75" y="-270.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Contains</text>
@@ -75,30 +75,36 @@ var sectionId = 'dynsection-5';
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M69.95,-192.98C86.37,-209.73 114.83,-235.56 145,-248.25 249.58,-292.24 284.8,-280.25 398.25,-280.25 398.25,-280.25 398.25,-280.25 591,-280.25 688.43,-280.25 801.31,-280.25 870.87,-280.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="870.66,-283.75 880.66,-280.25 870.66,-276.75 870.66,-283.75"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html#" xlink:title=" ">
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="640,-251.88 540,-251.88 540,-232.62 640,-232.62 640,-251.88"/>
<text text-anchor="middle" x="590" y="-238.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::unique_ptr::get</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M79.04,-192.94C96.45,-203.63 121.19,-216.95 145,-223.25 278.44,-258.57 442.22,-253.8 528.76,-247.73"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="528.97,-251.15 538.69,-246.92 528.46,-244.17 528.97,-251.15"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a91322b3bb0b2b2175eb56e9e10d7db46" target="_top" xlink:title="Get next node which is possibly contains item.">
<g id="a_Node000004"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a91322b3bb0b2b2175eb56e9e10d7db46" target="_top" xlink:title="Get next node which is possibly contains item.">
<polygon fill="white" stroke="#666666" points="291.5,-128.12 145,-128.12 145,-86.38 291.5,-86.38 291.5,-128.12"/>
<text text-anchor="start" x="153" y="-114.62" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="start" x="153" y="-103.38" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetNextPossible</text>
@@ -107,15 +113,18 @@ var sectionId = 'dynsection-5';
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M91.8,-161.54C111.27,-153.12 135.74,-142.52 157.9,-132.94"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="159.1,-135.8 166.88,-128.61 156.32,-129.37 159.1,-135.8"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e" target="_top" xlink:title="Insert item to tree.">
<g id="a_Node000005"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e" target="_top" xlink:title="Insert item to tree.">
<polygon fill="white" stroke="#666666" points="272.75,-214.5 163.75,-214.5 163.75,-184 272.75,-184 272.75,-214.5"/>
<text text-anchor="start" x="171.75" y="-201" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="218.25" y="-189.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Insert</text>
@@ -123,15 +132,18 @@ var sectionId = 'dynsection-5';
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M109.36,-184.58C123.2,-186.46 138.24,-188.5 152.56,-190.45"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="151.97,-194.04 162.35,-191.92 152.91,-187.1 151.97,-194.04"/>
</a>
</g>
</g>
<!-- Node13 -->
<g id="node13" class="node">
<g id="Node000013" class="node">
<title>Node13</title>
<g id="a_node13"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a11f0d016dff7f7e62b3dddb9fdf47805" target="_top" xlink:title="A helper function used during post&#45;merge insert.">
<g id="a_Node000013"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a11f0d016dff7f7e62b3dddb9fdf47805" target="_top" xlink:title="A helper function used during post&#45;merge insert.">
<polygon fill="white" stroke="#666666" points="466.5,-144.5 332,-144.5 332,-114 466.5,-114 466.5,-144.5"/>
<text text-anchor="start" x="340" y="-131" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="399.25" y="-119.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::MergeNode</text>
@@ -139,30 +151,36 @@ var sectionId = 'dynsection-5';
</g>
</g>
<!-- Node1&#45;&gt;Node13 -->
<g id="edge15" class="edge">
<g id="edge15_Node000001_Node000013" class="edge">
<title>Node1&#45;&gt;Node13</title>
<g id="a_edge15_Node000001_Node000013"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M109.43,-169.7C166.4,-161.72 256.73,-149.07 321.19,-140.04"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="321.29,-143.42 330.71,-138.57 320.32,-136.49 321.29,-143.42"/>
</a>
</g>
</g>
<!-- Node16 -->
<g id="node16" class="node">
<g id="Node000016" class="node">
<title>Node16</title>
<g id="a_node16"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/reset.html#" xlink:title=" ">
<g id="a_Node000016"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/reset.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="272.38,-67.88 164.12,-67.88 164.12,-48.62 272.38,-48.62 272.38,-67.88"/>
<text text-anchor="middle" x="218.25" y="-54.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::unique_ptr::reset</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node16 -->
<g id="edge21" class="edge">
<g id="edge21_Node000001_Node000016" class="edge">
<title>Node1&#45;&gt;Node16</title>
<g id="a_edge21_Node000001_Node000016"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M65.02,-161.83C79.51,-139.68 109.22,-99.13 145,-77.25 147.99,-75.42 151.15,-73.77 154.41,-72.27"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="155.47,-75.22 163.45,-68.24 152.86,-68.72 155.47,-75.22"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" target="_top" xlink:title="A insert implementation of pre&#45;split.">
<g id="a_Node000006"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" target="_top" xlink:title="A insert implementation of pre&#45;split.">
<polygon fill="white" stroke="#666666" points="471,-214.5 327.5,-214.5 327.5,-184 471,-184 471,-214.5"/>
<text text-anchor="start" x="335.5" y="-201" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="399.25" y="-189.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::InsertPreSplit</text>
@@ -170,21 +188,27 @@ var sectionId = 'dynsection-5';
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge5_Node000005_Node000006" class="edge">
<title>Node5&#45;&gt;Node6</title>
<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M272.96,-199.25C286.63,-199.25 301.64,-199.25 316.37,-199.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="316.02,-202.75 326.02,-199.25 316.02,-195.75 316.02,-202.75"/>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node3 -->
<g id="edge6" class="edge">
<g id="edge6_Node000006_Node000003" class="edge">
<title>Node6&#45;&gt;Node3</title>
<g id="a_edge6_Node000006_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M469.19,-214.96C490.53,-219.82 513.74,-225.1 534,-229.72"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="533.08,-233.33 543.61,-232.14 534.63,-226.5 533.08,-233.33"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<g id="a_Node000007"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<polygon fill="white" stroke="#666666" points="673,-165.5 507,-165.5 507,-135 673,-135 673,-165.5"/>
<text text-anchor="start" x="515" y="-152" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="590" y="-140.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::MergeNodeNotFull</text>
@@ -192,15 +216,18 @@ var sectionId = 'dynsection-5';
</g>
</g>
<!-- Node6&#45;&gt;Node7 -->
<g id="edge7" class="edge">
<g id="edge7_Node000006_Node000007" class="edge">
<title>Node6&#45;&gt;Node7</title>
<g id="a_edge7_Node000006_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M460.75,-183.54C478.95,-178.82 499.09,-173.59 517.92,-168.7"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="518.72,-171.85 527.52,-165.95 516.96,-165.08 518.72,-171.85"/>
</a>
</g>
</g>
<!-- Node12 -->
<g id="node12" class="node">
<g id="Node000012" class="node">
<title>Node12</title>
<g id="a_node12"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<g id="a_Node000012"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<polygon fill="white" stroke="#666666" points="653.5,-214.5 526.5,-214.5 526.5,-184 653.5,-184 653.5,-214.5"/>
<text text-anchor="start" x="534.5" y="-201" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="590" y="-189.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::SplitNode</text>
@@ -208,15 +235,18 @@ var sectionId = 'dynsection-5';
</g>
</g>
<!-- Node6&#45;&gt;Node12 -->
<g id="edge14" class="edge">
<g id="edge14_Node000006_Node000012" class="edge">
<title>Node6&#45;&gt;Node12</title>
<g id="a_edge14_Node000006_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M471.34,-199.25C485.66,-199.25 500.75,-199.25 515.16,-199.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="515.03,-202.75 525.03,-199.25 515.03,-195.75 515.03,-202.75"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<g id="a_Node000008"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<polygon fill="white" stroke="#666666" points="825.5,-252.5 709,-252.5 709,-222 825.5,-222 825.5,-252.5"/>
<text text-anchor="start" x="717" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="767.25" y="-227.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItem</text>
@@ -224,15 +254,18 @@ var sectionId = 'dynsection-5';
</g>
</g>
<!-- Node7&#45;&gt;Node8 -->
<g id="edge8" class="edge">
<g id="edge8_Node000007_Node000008" class="edge">
<title>Node7&#45;&gt;Node8</title>
<g id="a_edge8_Node000007_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M654.21,-165.92C660.76,-168.6 667.15,-171.69 673,-175.25 692.59,-187.19 690.13,-199.19 709,-212.25 711.11,-213.71 713.31,-215.11 715.58,-216.45"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="713.7,-219.96 724.16,-221.64 717.04,-213.8 713.7,-219.96"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<g id="a_Node000010"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<polygon fill="white" stroke="#666666" points="990.75,-160.5 884.75,-160.5 884.75,-130 990.75,-130 990.75,-160.5"/>
<text text-anchor="start" x="892.75" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="937.75" y="-135.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::IsFull</text>
@@ -240,15 +273,18 @@ var sectionId = 'dynsection-5';
</g>
</g>
<!-- Node7&#45;&gt;Node10 -->
<g id="edge12" class="edge">
<g id="edge12_Node000007_Node000010" class="edge">
<title>Node7&#45;&gt;Node10</title>
<g id="a_edge12_Node000007_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M673.38,-149.06C734.7,-148.17 817.19,-146.98 873.4,-146.17"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="873.33,-149.65 883.28,-146.01 873.23,-142.65 873.33,-149.65"/>
</a>
</g>
</g>
<!-- Node11 -->
<g id="node11" class="node">
<g id="Node000011" class="node">
<title>Node11</title>
<g id="a_node11"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<g id="a_Node000011"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="822.12,-203.5 712.38,-203.5 712.38,-173 822.12,-173 822.12,-203.5"/>
<text text-anchor="start" x="720.38" y="-190" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="767.25" y="-178.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
@@ -256,21 +292,27 @@ var sectionId = 'dynsection-5';
</g>
</g>
<!-- Node7&#45;&gt;Node11 -->
<g id="edge13" class="edge">
<g id="edge13_Node000007_Node000011" class="edge">
<title>Node7&#45;&gt;Node11</title>
<g id="a_edge13_Node000007_Node000011"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M663.55,-165.98C676.07,-168.7 689.02,-171.5 701.33,-174.17"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="700.44,-177.78 710.96,-176.48 701.93,-170.94 700.44,-177.78"/>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node2 -->
<g id="edge9" class="edge">
<g id="edge9_Node000008_Node000002" class="edge">
<title>Node8&#45;&gt;Node2</title>
<g id="a_edge9_Node000008_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M825.77,-251.93C840.48,-255.68 856.42,-259.75 871.49,-263.6"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="870.21,-267.14 880.77,-266.22 871.94,-260.35 870.21,-267.14"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<g id="a_Node000009"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<polygon fill="white" stroke="#666666" points="1014,-246.5 861.5,-246.5 861.5,-216 1014,-216 1014,-246.5"/>
<text text-anchor="start" x="869.5" y="-233" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="937.75" y="-221.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItemByIndex</text>
@@ -278,39 +320,54 @@ var sectionId = 'dynsection-5';
</g>
</g>
<!-- Node8&#45;&gt;Node9 -->
<g id="edge10" class="edge">
<g id="edge10_Node000008_Node000009" class="edge">
<title>Node8&#45;&gt;Node9</title>
<g id="a_edge10_Node000008_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M825.77,-235.2C833.66,-234.92 841.89,-234.63 850.16,-234.33"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="850.15,-237.8 860.02,-233.95 849.9,-230.8 850.15,-237.8"/>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node10 -->
<g id="edge11" class="edge">
<g id="edge11_Node000008_Node000010" class="edge">
<title>Node8&#45;&gt;Node10</title>
<g id="a_edge11_Node000008_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M806.15,-221.53C812.67,-218.59 819.33,-215.44 825.5,-212.25 852.55,-198.28 882.01,-180.41 903.82,-166.63"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="905.4,-169.14 911.96,-160.82 901.65,-163.23 905.4,-169.14"/>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node7 -->
<g id="edge19" class="edge">
<g id="edge19_Node000013_Node000007" class="edge">
<title>Node13&#45;&gt;Node7</title>
<g id="a_edge19_Node000013_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M466.8,-136.65C476.23,-137.7 486.07,-138.8 495.89,-139.89"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="495.19,-143.45 505.52,-141.07 495.96,-136.49 495.19,-143.45"/>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node10 -->
<g id="edge18" class="edge">
<g id="edge18_Node000013_Node000010" class="edge">
<title>Node13&#45;&gt;Node10</title>
<g id="a_edge18_Node000013_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M466.87,-127.09C480.16,-126.74 494.02,-126.43 507,-126.25 580.77,-125.21 599.27,-123.6 673,-126.25 741.68,-128.72 820.21,-134.8 873.6,-139.42"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="873,-142.97 883.27,-140.35 873.61,-135.99 873,-142.97"/>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node12 -->
<g id="edge20" class="edge">
<g id="edge20_Node000013_Node000012" class="edge">
<title>Node13&#45;&gt;Node12</title>
<g id="a_edge20_Node000013_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M434.99,-144.96C455.69,-154.06 482.61,-165.42 507,-174.25 512.74,-176.33 518.74,-178.38 524.78,-180.36"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="523.33,-183.9 533.93,-183.63 525.48,-177.24 523.33,-183.9"/>
</a>
</g>
</g>
<!-- Node14 -->
<g id="node14" class="node">
<g id="Node000014" class="node">
<title>Node14</title>
<g id="a_node14"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<g id="a_Node000014"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<polygon fill="white" stroke="#666666" points="645.25,-30.5 534.75,-30.5 534.75,0 645.25,0 645.25,-30.5"/>
<text text-anchor="start" x="542.75" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="590" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetChild</text>
@@ -318,15 +375,18 @@ var sectionId = 'dynsection-5';
</g>
</g>
<!-- Node13&#45;&gt;Node14 -->
<g id="edge16" class="edge">
<g id="edge16_Node000013_Node000014" class="edge">
<title>Node13&#45;&gt;Node14</title>
<g id="a_edge16_Node000013_Node000014"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M415.06,-113.51C434.44,-93.76 470.28,-60.1 507,-40.25 512.45,-37.3 518.3,-34.65 524.27,-32.28"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="525.22,-35.3 533.39,-28.55 522.79,-28.73 525.22,-35.3"/>
</a>
</g>
</g>
<!-- Node15 -->
<g id="node15" class="node">
<g id="Node000015" class="node">
<title>Node15</title>
<g id="a_node15"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<g id="a_Node000015"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<polygon fill="white" stroke="#666666" points="643.75,-79.5 536.25,-79.5 536.25,-49 643.75,-49 643.75,-79.5"/>
<text text-anchor="start" x="544.25" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="590" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetItem</text>
@@ -334,52 +394,49 @@ var sectionId = 'dynsection-5';
</g>
</g>
<!-- Node13&#45;&gt;Node15 -->
<g id="edge17" class="edge">
<g id="edge17_Node000013_Node000015" class="edge">
<title>Node13&#45;&gt;Node15</title>
<g id="a_edge17_Node000013_Node000015"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M445.94,-113.52C472.16,-104.49 505.28,-93.08 533.05,-83.52"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="534.09,-86.52 542.4,-79.95 531.81,-79.9 534.09,-86.52"/>
</a>
</g>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<use id="arrowup" xlink:href="#arrowUp" x="0" y="0" onmousedown="handlePan(0,-1)"/>
<use id="arrowright" xlink:href="#arrowRight" x="0" y="0" onmousedown="handlePan(1,0)"/>
<use id="arrowdown" xlink:href="#arrowDown" x="0" y="0" onmousedown="handlePan(0,1)"/>
<use id="arrowleft" xlink:href="#arrowLeft" x="0" y="0" onmousedown="handlePan(-1,0)"/>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -9,9 +9,9 @@
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 299.5)">
<title>data_structures::tree_234::Tree234::Insert</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="A helper function used by post&#45;merge insert.">
<g id="a_Node000001"><a xlink:title="A helper function used by post&#45;merge insert.">
<polygon fill="#999999" stroke="#666666" points="109,-192.5 0,-192.5 0,-162 109,-162 109,-192.5"/>
<text text-anchor="start" x="8" y="-179" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="54.5" y="-167.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Insert</text>
@@ -19,9 +19,9 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<polygon fill="white" stroke="#666666" points="993.38,-295.5 882.12,-295.5 882.12,-265 993.38,-265 993.38,-295.5"/>
<text text-anchor="start" x="890.12" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="937.75" y="-270.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Contains</text>
@@ -29,30 +29,36 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M69.95,-192.98C86.37,-209.73 114.83,-235.56 145,-248.25 249.58,-292.24 284.8,-280.25 398.25,-280.25 398.25,-280.25 398.25,-280.25 591,-280.25 688.43,-280.25 801.31,-280.25 870.87,-280.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="870.66,-283.75 880.66,-280.25 870.66,-276.75 870.66,-283.75"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html#" xlink:title=" ">
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="640,-251.88 540,-251.88 540,-232.62 640,-232.62 640,-251.88"/>
<text text-anchor="middle" x="590" y="-238.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::unique_ptr::get</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M79.04,-192.94C96.45,-203.63 121.19,-216.95 145,-223.25 278.44,-258.57 442.22,-253.8 528.76,-247.73"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="528.97,-251.15 538.69,-246.92 528.46,-244.17 528.97,-251.15"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a91322b3bb0b2b2175eb56e9e10d7db46" target="_top" xlink:title="Get next node which is possibly contains item.">
<g id="a_Node000004"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a91322b3bb0b2b2175eb56e9e10d7db46" target="_top" xlink:title="Get next node which is possibly contains item.">
<polygon fill="white" stroke="#666666" points="291.5,-128.12 145,-128.12 145,-86.38 291.5,-86.38 291.5,-128.12"/>
<text text-anchor="start" x="153" y="-114.62" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="start" x="153" y="-103.38" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetNextPossible</text>
@@ -61,15 +67,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M91.8,-161.54C111.27,-153.12 135.74,-142.52 157.9,-132.94"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="159.1,-135.8 166.88,-128.61 156.32,-129.37 159.1,-135.8"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e" target="_top" xlink:title="Insert item to tree.">
<g id="a_Node000005"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e" target="_top" xlink:title="Insert item to tree.">
<polygon fill="white" stroke="#666666" points="272.75,-214.5 163.75,-214.5 163.75,-184 272.75,-184 272.75,-214.5"/>
<text text-anchor="start" x="171.75" y="-201" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="218.25" y="-189.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Insert</text>
@@ -77,15 +86,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M109.36,-184.58C123.2,-186.46 138.24,-188.5 152.56,-190.45"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="151.97,-194.04 162.35,-191.92 152.91,-187.1 151.97,-194.04"/>
</a>
</g>
</g>
<!-- Node13 -->
<g id="node13" class="node">
<g id="Node000013" class="node">
<title>Node13</title>
<g id="a_node13"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a11f0d016dff7f7e62b3dddb9fdf47805" target="_top" xlink:title="A helper function used during post&#45;merge insert.">
<g id="a_Node000013"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a11f0d016dff7f7e62b3dddb9fdf47805" target="_top" xlink:title="A helper function used during post&#45;merge insert.">
<polygon fill="white" stroke="#666666" points="466.5,-144.5 332,-144.5 332,-114 466.5,-114 466.5,-144.5"/>
<text text-anchor="start" x="340" y="-131" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="399.25" y="-119.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::MergeNode</text>
@@ -93,30 +105,36 @@
</g>
</g>
<!-- Node1&#45;&gt;Node13 -->
<g id="edge15" class="edge">
<g id="edge15_Node000001_Node000013" class="edge">
<title>Node1&#45;&gt;Node13</title>
<g id="a_edge15_Node000001_Node000013"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M109.43,-169.7C166.4,-161.72 256.73,-149.07 321.19,-140.04"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="321.29,-143.42 330.71,-138.57 320.32,-136.49 321.29,-143.42"/>
</a>
</g>
</g>
<!-- Node16 -->
<g id="node16" class="node">
<g id="Node000016" class="node">
<title>Node16</title>
<g id="a_node16"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/reset.html#" xlink:title=" ">
<g id="a_Node000016"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/reset.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="272.38,-67.88 164.12,-67.88 164.12,-48.62 272.38,-48.62 272.38,-67.88"/>
<text text-anchor="middle" x="218.25" y="-54.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::unique_ptr::reset</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node16 -->
<g id="edge21" class="edge">
<g id="edge21_Node000001_Node000016" class="edge">
<title>Node1&#45;&gt;Node16</title>
<g id="a_edge21_Node000001_Node000016"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M65.02,-161.83C79.51,-139.68 109.22,-99.13 145,-77.25 147.99,-75.42 151.15,-73.77 154.41,-72.27"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="155.47,-75.22 163.45,-68.24 152.86,-68.72 155.47,-75.22"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" target="_top" xlink:title="A insert implementation of pre&#45;split.">
<g id="a_Node000006"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" target="_top" xlink:title="A insert implementation of pre&#45;split.">
<polygon fill="white" stroke="#666666" points="471,-214.5 327.5,-214.5 327.5,-184 471,-184 471,-214.5"/>
<text text-anchor="start" x="335.5" y="-201" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="399.25" y="-189.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::InsertPreSplit</text>
@@ -124,21 +142,27 @@
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge5_Node000005_Node000006" class="edge">
<title>Node5&#45;&gt;Node6</title>
<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M272.96,-199.25C286.63,-199.25 301.64,-199.25 316.37,-199.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="316.02,-202.75 326.02,-199.25 316.02,-195.75 316.02,-202.75"/>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node3 -->
<g id="edge6" class="edge">
<g id="edge6_Node000006_Node000003" class="edge">
<title>Node6&#45;&gt;Node3</title>
<g id="a_edge6_Node000006_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M469.19,-214.96C490.53,-219.82 513.74,-225.1 534,-229.72"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="533.08,-233.33 543.61,-232.14 534.63,-226.5 533.08,-233.33"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<g id="a_Node000007"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<polygon fill="white" stroke="#666666" points="673,-165.5 507,-165.5 507,-135 673,-135 673,-165.5"/>
<text text-anchor="start" x="515" y="-152" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="590" y="-140.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::MergeNodeNotFull</text>
@@ -146,15 +170,18 @@
</g>
</g>
<!-- Node6&#45;&gt;Node7 -->
<g id="edge7" class="edge">
<g id="edge7_Node000006_Node000007" class="edge">
<title>Node6&#45;&gt;Node7</title>
<g id="a_edge7_Node000006_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M460.75,-183.54C478.95,-178.82 499.09,-173.59 517.92,-168.7"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="518.72,-171.85 527.52,-165.95 516.96,-165.08 518.72,-171.85"/>
</a>
</g>
</g>
<!-- Node12 -->
<g id="node12" class="node">
<g id="Node000012" class="node">
<title>Node12</title>
<g id="a_node12"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<g id="a_Node000012"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<polygon fill="white" stroke="#666666" points="653.5,-214.5 526.5,-214.5 526.5,-184 653.5,-184 653.5,-214.5"/>
<text text-anchor="start" x="534.5" y="-201" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="590" y="-189.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::SplitNode</text>
@@ -162,15 +189,18 @@
</g>
</g>
<!-- Node6&#45;&gt;Node12 -->
<g id="edge14" class="edge">
<g id="edge14_Node000006_Node000012" class="edge">
<title>Node6&#45;&gt;Node12</title>
<g id="a_edge14_Node000006_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M471.34,-199.25C485.66,-199.25 500.75,-199.25 515.16,-199.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="515.03,-202.75 525.03,-199.25 515.03,-195.75 515.03,-202.75"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<g id="a_Node000008"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<polygon fill="white" stroke="#666666" points="825.5,-252.5 709,-252.5 709,-222 825.5,-222 825.5,-252.5"/>
<text text-anchor="start" x="717" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="767.25" y="-227.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItem</text>
@@ -178,15 +208,18 @@
</g>
</g>
<!-- Node7&#45;&gt;Node8 -->
<g id="edge8" class="edge">
<g id="edge8_Node000007_Node000008" class="edge">
<title>Node7&#45;&gt;Node8</title>
<g id="a_edge8_Node000007_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M654.21,-165.92C660.76,-168.6 667.15,-171.69 673,-175.25 692.59,-187.19 690.13,-199.19 709,-212.25 711.11,-213.71 713.31,-215.11 715.58,-216.45"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="713.7,-219.96 724.16,-221.64 717.04,-213.8 713.7,-219.96"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<g id="a_Node000010"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<polygon fill="white" stroke="#666666" points="990.75,-160.5 884.75,-160.5 884.75,-130 990.75,-130 990.75,-160.5"/>
<text text-anchor="start" x="892.75" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="937.75" y="-135.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::IsFull</text>
@@ -194,15 +227,18 @@
</g>
</g>
<!-- Node7&#45;&gt;Node10 -->
<g id="edge12" class="edge">
<g id="edge12_Node000007_Node000010" class="edge">
<title>Node7&#45;&gt;Node10</title>
<g id="a_edge12_Node000007_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M673.38,-149.06C734.7,-148.17 817.19,-146.98 873.4,-146.17"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="873.33,-149.65 883.28,-146.01 873.23,-142.65 873.33,-149.65"/>
</a>
</g>
</g>
<!-- Node11 -->
<g id="node11" class="node">
<g id="Node000011" class="node">
<title>Node11</title>
<g id="a_node11"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<g id="a_Node000011"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="822.12,-203.5 712.38,-203.5 712.38,-173 822.12,-173 822.12,-203.5"/>
<text text-anchor="start" x="720.38" y="-190" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="767.25" y="-178.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
@@ -210,21 +246,27 @@
</g>
</g>
<!-- Node7&#45;&gt;Node11 -->
<g id="edge13" class="edge">
<g id="edge13_Node000007_Node000011" class="edge">
<title>Node7&#45;&gt;Node11</title>
<g id="a_edge13_Node000007_Node000011"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M663.55,-165.98C676.07,-168.7 689.02,-171.5 701.33,-174.17"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="700.44,-177.78 710.96,-176.48 701.93,-170.94 700.44,-177.78"/>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node2 -->
<g id="edge9" class="edge">
<g id="edge9_Node000008_Node000002" class="edge">
<title>Node8&#45;&gt;Node2</title>
<g id="a_edge9_Node000008_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M825.77,-251.93C840.48,-255.68 856.42,-259.75 871.49,-263.6"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="870.21,-267.14 880.77,-266.22 871.94,-260.35 870.21,-267.14"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<g id="a_Node000009"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<polygon fill="white" stroke="#666666" points="1014,-246.5 861.5,-246.5 861.5,-216 1014,-216 1014,-246.5"/>
<text text-anchor="start" x="869.5" y="-233" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="937.75" y="-221.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItemByIndex</text>
@@ -232,39 +274,54 @@
</g>
</g>
<!-- Node8&#45;&gt;Node9 -->
<g id="edge10" class="edge">
<g id="edge10_Node000008_Node000009" class="edge">
<title>Node8&#45;&gt;Node9</title>
<g id="a_edge10_Node000008_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M825.77,-235.2C833.66,-234.92 841.89,-234.63 850.16,-234.33"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="850.15,-237.8 860.02,-233.95 849.9,-230.8 850.15,-237.8"/>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node10 -->
<g id="edge11" class="edge">
<g id="edge11_Node000008_Node000010" class="edge">
<title>Node8&#45;&gt;Node10</title>
<g id="a_edge11_Node000008_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M806.15,-221.53C812.67,-218.59 819.33,-215.44 825.5,-212.25 852.55,-198.28 882.01,-180.41 903.82,-166.63"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="905.4,-169.14 911.96,-160.82 901.65,-163.23 905.4,-169.14"/>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node7 -->
<g id="edge19" class="edge">
<g id="edge19_Node000013_Node000007" class="edge">
<title>Node13&#45;&gt;Node7</title>
<g id="a_edge19_Node000013_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M466.8,-136.65C476.23,-137.7 486.07,-138.8 495.89,-139.89"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="495.19,-143.45 505.52,-141.07 495.96,-136.49 495.19,-143.45"/>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node10 -->
<g id="edge18" class="edge">
<g id="edge18_Node000013_Node000010" class="edge">
<title>Node13&#45;&gt;Node10</title>
<g id="a_edge18_Node000013_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M466.87,-127.09C480.16,-126.74 494.02,-126.43 507,-126.25 580.77,-125.21 599.27,-123.6 673,-126.25 741.68,-128.72 820.21,-134.8 873.6,-139.42"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="873,-142.97 883.27,-140.35 873.61,-135.99 873,-142.97"/>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node12 -->
<g id="edge20" class="edge">
<g id="edge20_Node000013_Node000012" class="edge">
<title>Node13&#45;&gt;Node12</title>
<g id="a_edge20_Node000013_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M434.99,-144.96C455.69,-154.06 482.61,-165.42 507,-174.25 512.74,-176.33 518.74,-178.38 524.78,-180.36"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="523.33,-183.9 533.93,-183.63 525.48,-177.24 523.33,-183.9"/>
</a>
</g>
</g>
<!-- Node14 -->
<g id="node14" class="node">
<g id="Node000014" class="node">
<title>Node14</title>
<g id="a_node14"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<g id="a_Node000014"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<polygon fill="white" stroke="#666666" points="645.25,-30.5 534.75,-30.5 534.75,0 645.25,0 645.25,-30.5"/>
<text text-anchor="start" x="542.75" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="590" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetChild</text>
@@ -272,15 +329,18 @@
</g>
</g>
<!-- Node13&#45;&gt;Node14 -->
<g id="edge16" class="edge">
<g id="edge16_Node000013_Node000014" class="edge">
<title>Node13&#45;&gt;Node14</title>
<g id="a_edge16_Node000013_Node000014"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M415.06,-113.51C434.44,-93.76 470.28,-60.1 507,-40.25 512.45,-37.3 518.3,-34.65 524.27,-32.28"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="525.22,-35.3 533.39,-28.55 522.79,-28.73 525.22,-35.3"/>
</a>
</g>
</g>
<!-- Node15 -->
<g id="node15" class="node">
<g id="Node000015" class="node">
<title>Node15</title>
<g id="a_node15"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<g id="a_Node000015"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<polygon fill="white" stroke="#666666" points="643.75,-79.5 536.25,-79.5 536.25,-49 643.75,-49 643.75,-79.5"/>
<text text-anchor="start" x="544.25" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="590" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetItem</text>
@@ -288,10 +348,13 @@
</g>
</g>
<!-- Node13&#45;&gt;Node15 -->
<g id="edge17" class="edge">
<g id="edge17_Node000013_Node000015" class="edge">
<title>Node13&#45;&gt;Node15</title>
<g id="a_edge17_Node000013_Node000015"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M445.94,-113.52C472.16,-104.49 505.28,-93.08 533.05,-83.52"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="534.09,-86.52 542.4,-79.95 531.81,-79.9 534.09,-86.52"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1,11 +1,20 @@
<map id="data_structures::tree_234::Tree234::InsertPreSplit" name="data_structures::tree_234::Tree234::InsertPreSplit">
<area shape="rect" id="node1" title="A insert implementation of pre&#45;split." alt="" coords="5,135,197,175"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/memory/unique_ptr/get.html#" title=" " alt="" coords="289,85,422,111"/>
<area shape="rect" id="node3" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" title="Merge node to a not&#45;full target node." alt="" coords="245,135,466,175"/>
<area shape="rect" id="node9" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node." alt="" coords="271,200,440,241"/>
<area shape="rect" id="node4" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" title="Insert item to the proper position of the node and return the position index." alt="" coords="514,73,669,114"/>
<area shape="rect" id="node7" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" title="Check if node is a full (4&#45;node)" alt="" coords="748,136,890,177"/>
<area shape="rect" id="node8" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="519,192,665,233"/>
<area shape="rect" id="node5" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" title="Check if item is in the node." alt="" coords="745,5,893,46"/>
<area shape="rect" id="node6" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" title="Insert a value to the index position." alt="" coords="717,71,921,111"/>
<area shape="rect" id="Node000001" title="A insert implementation of pre&#45;split." alt="" coords="5,135,197,175"/>
<area shape="rect" id="Node000002" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/memory/unique_ptr/get.html#" title=" " alt="" coords="289,85,422,111"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="194,131,280,112,281,117,195,137"/>
<area shape="rect" id="Node000003" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" title="Merge node to a not&#45;full target node." alt="" coords="245,135,466,175"/>
<area shape="poly" id="edge2_Node000001_Node000003" title=" " alt="" coords="197,152,230,152,230,158,197,158"/>
<area shape="rect" id="Node000009" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node." alt="" coords="271,200,440,241"/>
<area shape="poly" id="edge9_Node000001_Node000009" title=" " alt="" coords="184,173,260,193,259,198,182,179"/>
<area shape="rect" id="Node000004" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" title="Insert item to the proper position of the node and return the position index." alt="" coords="514,73,669,114"/>
<area shape="poly" id="edge3_Node000003_Node000004" title=" " alt="" coords="436,131,499,115,501,120,437,137"/>
<area shape="rect" id="Node000007" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" title="Check if node is a full (4&#45;node)" alt="" coords="748,136,890,177"/>
<area shape="poly" id="edge7_Node000003_Node000007" title=" " alt="" coords="467,153,733,153,733,159,466,158"/>
<area shape="rect" id="Node000008" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="519,192,665,233"/>
<area shape="poly" id="edge8_Node000003_Node000008" title=" " alt="" coords="442,173,505,189,504,194,441,178"/>
<area shape="rect" id="Node000005" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" title="Check if item is in the node." alt="" coords="745,5,893,46"/>
<area shape="poly" id="edge4_Node000004_Node000005" title=" " alt="" coords="661,70,734,48,736,53,663,75"/>
<area shape="rect" id="Node000006" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" title="Insert a value to the index position." alt="" coords="717,71,921,111"/>
<area shape="poly" id="edge5_Node000004_Node000006" title=" " alt="" coords="670,90,702,90,702,95,670,95"/>
<area shape="poly" id="edge6_Node000004_Node000007" title=" " alt="" coords="669,112,734,130,733,135,667,117"/>
</map>

View File

@@ -1 +1 @@
3df6f8ec7d22b4b6b1ac60a99ca9f4ce
bc48a145b1b454b9ad86c6c54230c54d

View File

@@ -5,59 +5,59 @@
-->
<!-- Title: data_structures::tree_234::Tree234::InsertPreSplit Pages: 1 -->
<!--zoomable 185 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="text/javascript"><![CDATA[
var edges = document.getElementsByTagName('g');
if (edges && edges.length) {
for (var i=0;i<edges.length;i++) {
if (edges[i].id.substr(0,4)=='edge') {
edges[i].setAttribute('class','edge');
}
}
}
]]></script>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/></use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/></use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="arrowUp" transform="translate(30 24)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" transform="rotate(90) translate(36 -43)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" transform="rotate(180) translate(-30 -48)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" transform="rotate(270) translate(-36 17)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040"><set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/></use>
</g>
</defs>
<script type="application/ecmascript">
var viewWidth = 695;
var viewHeight = 185;
var sectionId = 'dynsection-7';
</script>
<script xlink:href="../../svgpan.js"/>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>data_structures::tree_234::Tree234::InsertPreSplit</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="A insert implementation of pre&#45;split.">
<g id="a_Node000001"><a xlink:title="A insert implementation of pre&#45;split.">
<polygon fill="#999999" stroke="#666666" points="143.5,-79.5 0,-79.5 0,-49 143.5,-49 143.5,-79.5"/>
<text text-anchor="start" x="8" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="71.75" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::InsertPreSplit</text>
@@ -65,24 +65,27 @@ var sectionId = 'dynsection-7';
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html#" xlink:title=" ">
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="312.5,-116.88 212.5,-116.88 212.5,-97.62 312.5,-97.62 312.5,-116.88"/>
<text text-anchor="middle" x="262.5" y="-103.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::unique_ptr::get</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M141.69,-79.96C163.03,-84.82 186.24,-90.1 206.5,-94.72"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="205.58,-98.33 216.11,-97.14 207.13,-91.5 205.58,-98.33"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<g id="a_Node000003"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<polygon fill="white" stroke="#666666" points="345.5,-79.5 179.5,-79.5 179.5,-49 345.5,-49 345.5,-79.5"/>
<text text-anchor="start" x="187.5" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="262.5" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::MergeNodeNotFull</text>
@@ -90,15 +93,18 @@ var sectionId = 'dynsection-7';
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M143.84,-64.25C151.83,-64.25 160.06,-64.25 168.28,-64.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="168.06,-67.75 178.06,-64.25 168.06,-60.75 168.06,-67.75"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<g id="a_Node000009"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<polygon fill="white" stroke="#666666" points="326,-30.5 199,-30.5 199,0 326,0 326,-30.5"/>
<text text-anchor="start" x="207" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="262.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::SplitNode</text>
@@ -106,15 +112,18 @@ var sectionId = 'dynsection-7';
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge9" class="edge">
<g id="edge9_Node000001_Node000009" class="edge">
<title>Node1&#45;&gt;Node9</title>
<g id="a_edge9_Node000001_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.25,-48.54C151.45,-43.82 171.59,-38.59 190.42,-33.7"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="191.22,-36.85 200.02,-30.95 189.46,-30.08 191.22,-36.85"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<g id="a_Node000004"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<polygon fill="white" stroke="#666666" points="498,-125.5 381.5,-125.5 381.5,-95 498,-95 498,-125.5"/>
<text text-anchor="start" x="389.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="439.75" y="-100.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItem</text>
@@ -122,15 +131,18 @@ var sectionId = 'dynsection-7';
</g>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000003_Node000004" class="edge">
<title>Node3&#45;&gt;Node4</title>
<g id="a_edge3_Node000003_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M323.32,-79.95C338.69,-83.99 355.34,-88.36 371.08,-92.49"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="369.71,-96.01 380.27,-95.16 371.49,-89.24 369.71,-96.01"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<g id="a_Node000007"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<polygon fill="white" stroke="#666666" points="663.25,-78.5 557.25,-78.5 557.25,-48 663.25,-48 663.25,-78.5"/>
<text text-anchor="start" x="565.25" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="610.25" y="-53.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::IsFull</text>
@@ -138,15 +150,18 @@ var sectionId = 'dynsection-7';
</g>
</g>
<!-- Node3&#45;&gt;Node7 -->
<g id="edge7" class="edge">
<g id="edge7_Node000003_Node000007" class="edge">
<title>Node3&#45;&gt;Node7</title>
<g id="a_edge7_Node000003_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M345.88,-64.01C407.2,-63.83 489.69,-63.6 545.9,-63.43"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="545.79,-66.93 555.78,-63.4 545.77,-59.93 545.79,-66.93"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<g id="a_Node000008"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="494.62,-36.5 384.88,-36.5 384.88,-6 494.62,-6 494.62,-36.5"/>
<text text-anchor="start" x="392.88" y="-23" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="439.75" y="-11.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
@@ -154,15 +169,18 @@ var sectionId = 'dynsection-7';
</g>
</g>
<!-- Node3&#45;&gt;Node8 -->
<g id="edge8" class="edge">
<g id="edge8_Node000003_Node000008" class="edge">
<title>Node3&#45;&gt;Node8</title>
<g id="a_edge8_Node000003_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M327.27,-48.6C342.53,-44.86 358.85,-40.86 374.15,-37.1"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="374.68,-40.33 383.56,-34.55 373.01,-33.53 374.68,-40.33"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<g id="a_Node000005"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<polygon fill="white" stroke="#666666" points="665.88,-176.5 554.62,-176.5 554.62,-146 665.88,-146 665.88,-176.5"/>
<text text-anchor="start" x="562.62" y="-163" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="610.25" y="-151.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Contains</text>
@@ -170,15 +188,18 @@ var sectionId = 'dynsection-7';
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000004_Node000005" class="edge">
<title>Node4&#45;&gt;Node5</title>
<g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M492.68,-125.97C509.9,-131.18 529.24,-137.03 547.14,-142.45"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="545.91,-146.04 556.49,-145.58 547.93,-139.34 545.91,-146.04"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<g id="a_Node000006"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<polygon fill="white" stroke="#666666" points="686.5,-127.5 534,-127.5 534,-97 686.5,-97 686.5,-127.5"/>
<text text-anchor="start" x="542" y="-114" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="610.25" y="-102.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItemByIndex</text>
@@ -186,58 +207,58 @@ var sectionId = 'dynsection-7';
</g>
</g>
<!-- Node4&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge5_Node000004_Node000006" class="edge">
<title>Node4&#45;&gt;Node6</title>
<g id="a_edge5_Node000004_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M498.27,-110.93C506.16,-111.03 514.39,-111.12 522.66,-111.22"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="522.48,-114.73 532.52,-111.35 522.56,-107.73 522.48,-114.73"/>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<g id="edge6_Node000004_Node000007" class="edge">
<title>Node4&#45;&gt;Node7</title>
<g id="a_edge6_Node000004_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M496.86,-94.6C512.72,-90.17 530.09,-85.33 546.33,-80.8"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="547.11,-83.94 555.81,-77.88 545.23,-77.19 547.11,-83.94"/>
</a>
</g>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<use id="arrowup" xlink:href="#arrowUp" x="0" y="0" onmousedown="handlePan(0,-1)"/>
<use id="arrowright" xlink:href="#arrowRight" x="0" y="0" onmousedown="handlePan(1,0)"/>
<use id="arrowdown" xlink:href="#arrowDown" x="0" y="0" onmousedown="handlePan(0,1)"/>
<use id="arrowleft" xlink:href="#arrowLeft" x="0" y="0" onmousedown="handlePan(-1,0)"/>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -9,9 +9,9 @@
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 180.5)">
<title>data_structures::tree_234::Tree234::InsertPreSplit</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="A insert implementation of pre&#45;split.">
<g id="a_Node000001"><a xlink:title="A insert implementation of pre&#45;split.">
<polygon fill="#999999" stroke="#666666" points="143.5,-79.5 0,-79.5 0,-49 143.5,-49 143.5,-79.5"/>
<text text-anchor="start" x="8" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="71.75" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::InsertPreSplit</text>
@@ -19,24 +19,27 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html#" xlink:title=" ">
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="312.5,-116.88 212.5,-116.88 212.5,-97.62 312.5,-97.62 312.5,-116.88"/>
<text text-anchor="middle" x="262.5" y="-103.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::unique_ptr::get</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M141.69,-79.96C163.03,-84.82 186.24,-90.1 206.5,-94.72"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="205.58,-98.33 216.11,-97.14 207.13,-91.5 205.58,-98.33"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<g id="a_Node000003"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<polygon fill="white" stroke="#666666" points="345.5,-79.5 179.5,-79.5 179.5,-49 345.5,-49 345.5,-79.5"/>
<text text-anchor="start" x="187.5" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="262.5" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::MergeNodeNotFull</text>
@@ -44,15 +47,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M143.84,-64.25C151.83,-64.25 160.06,-64.25 168.28,-64.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="168.06,-67.75 178.06,-64.25 168.06,-60.75 168.06,-67.75"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<g id="a_Node000009"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<polygon fill="white" stroke="#666666" points="326,-30.5 199,-30.5 199,0 326,0 326,-30.5"/>
<text text-anchor="start" x="207" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="262.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::SplitNode</text>
@@ -60,15 +66,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge9" class="edge">
<g id="edge9_Node000001_Node000009" class="edge">
<title>Node1&#45;&gt;Node9</title>
<g id="a_edge9_Node000001_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.25,-48.54C151.45,-43.82 171.59,-38.59 190.42,-33.7"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="191.22,-36.85 200.02,-30.95 189.46,-30.08 191.22,-36.85"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<g id="a_Node000004"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<polygon fill="white" stroke="#666666" points="498,-125.5 381.5,-125.5 381.5,-95 498,-95 498,-125.5"/>
<text text-anchor="start" x="389.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="439.75" y="-100.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItem</text>
@@ -76,15 +85,18 @@
</g>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000003_Node000004" class="edge">
<title>Node3&#45;&gt;Node4</title>
<g id="a_edge3_Node000003_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M323.32,-79.95C338.69,-83.99 355.34,-88.36 371.08,-92.49"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="369.71,-96.01 380.27,-95.16 371.49,-89.24 369.71,-96.01"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<g id="a_Node000007"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<polygon fill="white" stroke="#666666" points="663.25,-78.5 557.25,-78.5 557.25,-48 663.25,-48 663.25,-78.5"/>
<text text-anchor="start" x="565.25" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="610.25" y="-53.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::IsFull</text>
@@ -92,15 +104,18 @@
</g>
</g>
<!-- Node3&#45;&gt;Node7 -->
<g id="edge7" class="edge">
<g id="edge7_Node000003_Node000007" class="edge">
<title>Node3&#45;&gt;Node7</title>
<g id="a_edge7_Node000003_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M345.88,-64.01C407.2,-63.83 489.69,-63.6 545.9,-63.43"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="545.79,-66.93 555.78,-63.4 545.77,-59.93 545.79,-66.93"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<g id="a_Node000008"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="494.62,-36.5 384.88,-36.5 384.88,-6 494.62,-6 494.62,-36.5"/>
<text text-anchor="start" x="392.88" y="-23" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="439.75" y="-11.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
@@ -108,15 +123,18 @@
</g>
</g>
<!-- Node3&#45;&gt;Node8 -->
<g id="edge8" class="edge">
<g id="edge8_Node000003_Node000008" class="edge">
<title>Node3&#45;&gt;Node8</title>
<g id="a_edge8_Node000003_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M327.27,-48.6C342.53,-44.86 358.85,-40.86 374.15,-37.1"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="374.68,-40.33 383.56,-34.55 373.01,-33.53 374.68,-40.33"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<g id="a_Node000005"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<polygon fill="white" stroke="#666666" points="665.88,-176.5 554.62,-176.5 554.62,-146 665.88,-146 665.88,-176.5"/>
<text text-anchor="start" x="562.62" y="-163" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="610.25" y="-151.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Contains</text>
@@ -124,15 +142,18 @@
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000004_Node000005" class="edge">
<title>Node4&#45;&gt;Node5</title>
<g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M492.68,-125.97C509.9,-131.18 529.24,-137.03 547.14,-142.45"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="545.91,-146.04 556.49,-145.58 547.93,-139.34 545.91,-146.04"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<g id="a_Node000006"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<polygon fill="white" stroke="#666666" points="686.5,-127.5 534,-127.5 534,-97 686.5,-97 686.5,-127.5"/>
<text text-anchor="start" x="542" y="-114" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="610.25" y="-102.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItemByIndex</text>
@@ -140,16 +161,22 @@
</g>
</g>
<!-- Node4&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge5_Node000004_Node000006" class="edge">
<title>Node4&#45;&gt;Node6</title>
<g id="a_edge5_Node000004_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M498.27,-110.93C506.16,-111.03 514.39,-111.12 522.66,-111.22"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="522.48,-114.73 532.52,-111.35 522.56,-107.73 522.48,-114.73"/>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<g id="edge6_Node000004_Node000007" class="edge">
<title>Node4&#45;&gt;Node7</title>
<g id="a_edge6_Node000004_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M496.86,-94.6C512.72,-90.17 530.09,-85.33 546.33,-80.8"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="547.11,-83.94 555.81,-77.88 545.23,-77.19 547.11,-83.94"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

@@ -1,12 +1,23 @@
<map id="data_structures::tree_234::Tree234::MergeNode" name="data_structures::tree_234::Tree234::MergeNode">
<area shape="rect" id="node1" title="A helper function used during post&#45;merge insert." alt="" coords="5,128,185,169"/>
<area shape="rect" id="node2" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" title="Get the child pointer at position of index." alt="" coords="270,5,417,46"/>
<area shape="rect" id="node3" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" title="Get item of the \index index." alt="" coords="272,71,415,111"/>
<area shape="rect" id="node4" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" title="Check if node is a full (4&#45;node)" alt="" coords="736,171,878,211"/>
<area shape="rect" id="node5" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" title="Merge node to a not&#45;full target node." alt="" coords="233,185,454,226"/>
<area shape="rect" id="node10" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node." alt="" coords="259,251,428,291"/>
<area shape="rect" id="node6" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" title="Insert item to the proper position of the node and return the position index." alt="" coords="502,236,657,277"/>
<area shape="rect" id="node9" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="507,301,653,342"/>
<area shape="rect" id="node7" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" title="Check if item is in the node." alt="" coords="733,236,881,277"/>
<area shape="rect" id="node8" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" title="Insert a value to the index position." alt="" coords="705,301,909,342"/>
<area shape="rect" id="Node000001" title="A helper function used during post&#45;merge insert." alt="" coords="5,128,185,169"/>
<area shape="rect" id="Node000002" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" title="Get the child pointer at position of index." alt="" coords="270,5,417,46"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="122,125,171,91,231,57,255,47,257,52,234,61,174,95,125,130"/>
<area shape="rect" id="Node000003" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" title="Get item of the \index index." alt="" coords="272,71,415,111"/>
<area shape="poly" id="edge2_Node000001_Node000003" title=" " alt="" coords="184,125,256,108,258,113,186,130"/>
<area shape="rect" id="Node000004" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" title="Check if node is a full (4&#45;node)" alt="" coords="736,171,878,211"/>
<area shape="poly" id="edge3_Node000001_Node000004" title=" " alt="" coords="185,150,658,178,722,182,721,187,657,183,185,156"/>
<area shape="rect" id="Node000005" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" title="Merge node to a not&#45;full target node." alt="" coords="233,185,454,226"/>
<area shape="poly" id="edge4_Node000001_Node000005" title=" " alt="" coords="186,166,239,179,238,184,184,172"/>
<area shape="rect" id="Node000010" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node." alt="" coords="259,251,428,291"/>
<area shape="poly" id="edge11_Node000001_Node000010" title=" " alt="" coords="125,167,174,202,234,235,252,243,249,248,231,240,171,206,122,171"/>
<area shape="poly" id="edge9_Node000005_Node000004" title=" " alt="" coords="454,200,721,191,721,196,455,205"/>
<area shape="rect" id="Node000006" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" title="Insert item to the proper position of the node and return the position index." alt="" coords="502,236,657,277"/>
<area shape="poly" id="edge5_Node000005_Node000006" title=" " alt="" coords="442,224,488,234,487,239,441,229"/>
<area shape="rect" id="Node000009" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="507,301,653,342"/>
<area shape="poly" id="edge10_Node000005_Node000009" title=" " alt="" coords="430,224,455,237,471,249,480,262,490,274,504,286,512,292,509,296,500,290,486,277,476,265,467,253,453,241,428,229"/>
<area shape="poly" id="edge8_Node000006_Node000004" title=" " alt="" coords="652,233,721,213,723,218,653,238"/>
<area shape="rect" id="Node000007" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" title="Check if item is in the node." alt="" coords="733,236,881,277"/>
<area shape="poly" id="edge6_Node000006_Node000007" title=" " alt="" coords="658,254,718,254,718,259,658,259"/>
<area shape="rect" id="Node000008" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" title="Insert a value to the index position." alt="" coords="705,301,909,342"/>
<area shape="poly" id="edge7_Node000006_Node000008" title=" " alt="" coords="653,275,721,294,719,299,652,280"/>
</map>

View File

@@ -1 +1 @@
a5d19b5a45f06474285d2874183260f4
d2ad74189d965cb758f0d56d23c5a780

View File

@@ -5,59 +5,59 @@
-->
<!-- Title: data_structures::tree_234::Tree234::MergeNode Pages: 1 -->
<!--zoomable 261 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="text/javascript"><![CDATA[
var edges = document.getElementsByTagName('g');
if (edges && edges.length) {
for (var i=0;i<edges.length;i++) {
if (edges[i].id.substr(0,4)=='edge') {
edges[i].setAttribute('class','edge');
}
}
}
]]></script>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/></use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/></use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="arrowUp" transform="translate(30 24)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" transform="rotate(90) translate(36 -43)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" transform="rotate(180) translate(-30 -48)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" transform="rotate(270) translate(-36 17)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040"><set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/></use>
</g>
</defs>
<script type="application/ecmascript">
var viewWidth = 686;
var viewHeight = 261;
var sectionId = 'dynsection-9';
</script>
<script xlink:href="../../svgpan.js"/>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>data_structures::tree_234::Tree234::MergeNode</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="A helper function used during post&#45;merge insert.">
<g id="a_Node000001"><a xlink:title="A helper function used during post&#45;merge insert.">
<polygon fill="#999999" stroke="#666666" points="134.5,-160.5 0,-160.5 0,-130 134.5,-130 134.5,-160.5"/>
<text text-anchor="start" x="8" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="67.25" y="-135.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::MergeNode</text>
@@ -65,9 +65,9 @@ var sectionId = 'dynsection-9';
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<polygon fill="white" stroke="#666666" points="308.75,-252.5 198.25,-252.5 198.25,-222 308.75,-222 308.75,-252.5"/>
<text text-anchor="start" x="206.25" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="253.5" y="-227.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetChild</text>
@@ -75,15 +75,18 @@ var sectionId = 'dynsection-9';
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M88.38,-160.94C108.3,-175.84 140.13,-198.03 170.5,-212.25 176.03,-214.84 181.89,-217.24 187.83,-219.44"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="186.27,-222.96 196.87,-222.97 188.6,-216.36 186.27,-222.96"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<g id="a_Node000003"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<polygon fill="white" stroke="#666666" points="307.25,-203.5 199.75,-203.5 199.75,-173 307.25,-173 307.25,-203.5"/>
<text text-anchor="start" x="207.75" y="-190" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="253.5" y="-178.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetItem</text>
@@ -91,15 +94,18 @@ var sectionId = 'dynsection-9';
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M134.77,-160.77C152.35,-164.88 171.29,-169.3 188.73,-173.37"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="187.83,-176.98 198.36,-175.85 189.42,-170.17 187.83,-176.98"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<g id="a_Node000004"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<polygon fill="white" stroke="#666666" points="654.25,-128.5 548.25,-128.5 548.25,-98 654.25,-98 654.25,-128.5"/>
<text text-anchor="start" x="556.25" y="-115" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="601.25" y="-103.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::IsFull</text>
@@ -107,15 +113,18 @@ var sectionId = 'dynsection-9';
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M134.95,-141.75C217.93,-137.33 363.96,-129.31 489,-121.25 504.62,-120.24 521.47,-119.07 537.22,-117.95"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="537.19,-121.38 546.91,-117.17 536.69,-114.4 537.19,-121.38"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<g id="a_Node000005"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<polygon fill="white" stroke="#666666" points="336.5,-117.5 170.5,-117.5 170.5,-87 336.5,-87 336.5,-117.5"/>
<text text-anchor="start" x="178.5" y="-104" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="253.5" y="-92.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::MergeNodeNotFull</text>
@@ -123,15 +132,18 @@ var sectionId = 'dynsection-9';
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M134.77,-129.73C147.7,-126.71 161.36,-123.52 174.62,-120.42"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="175.21,-123.65 184.15,-117.97 173.62,-116.83 175.21,-123.65"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<g id="a_Node000010"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<polygon fill="white" stroke="#666666" points="317,-68.5 190,-68.5 190,-38 317,-38 317,-68.5"/>
<text text-anchor="start" x="198" y="-55" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="253.5" y="-43.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::SplitNode</text>
@@ -139,21 +151,27 @@ var sectionId = 'dynsection-9';
</g>
</g>
<!-- Node1&#45;&gt;Node10 -->
<g id="edge11" class="edge">
<g id="edge11_Node000001_Node000010" class="edge">
<title>Node1&#45;&gt;Node10</title>
<g id="a_edge11_Node000001_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M88.38,-129.56C108.3,-114.66 140.13,-92.47 170.5,-78.25 174.79,-76.24 179.27,-74.35 183.84,-72.57"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="184.76,-75.6 192.94,-68.86 182.34,-69.02 184.76,-75.6"/>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node4 -->
<g id="edge9" class="edge">
<g id="edge9_Node000005_Node000004" class="edge">
<title>Node5&#45;&gt;Node4</title>
<g id="a_edge9_Node000005_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M336.88,-104.87C398.2,-106.82 480.69,-109.45 536.9,-111.23"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="536.67,-114.76 546.78,-111.58 536.9,-107.76 536.67,-114.76"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<g id="a_Node000006"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<polygon fill="white" stroke="#666666" points="489,-79.5 372.5,-79.5 372.5,-49 489,-49 489,-79.5"/>
<text text-anchor="start" x="380.5" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="430.75" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItem</text>
@@ -161,15 +179,18 @@ var sectionId = 'dynsection-9';
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge5_Node000005_Node000006" class="edge">
<title>Node5&#45;&gt;Node6</title>
<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M327.05,-86.52C338.46,-84.04 350.23,-81.49 361.55,-79.04"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="362.2,-82.26 371.23,-76.72 360.72,-75.42 362.2,-82.26"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<g id="a_Node000009"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="485.62,-30.5 375.88,-30.5 375.88,0 485.62,0 485.62,-30.5"/>
<text text-anchor="start" x="383.88" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="430.75" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
@@ -177,21 +198,27 @@ var sectionId = 'dynsection-9';
</g>
</g>
<!-- Node5&#45;&gt;Node9 -->
<g id="edge10" class="edge">
<g id="edge10_Node000005_Node000009" class="edge">
<title>Node5&#45;&gt;Node9</title>
<g id="a_edge10_Node000005_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M317.71,-86.58C324.26,-83.9 330.65,-80.81 336.5,-77.25 356.09,-65.31 353.63,-53.31 372.5,-40.25 374.61,-38.79 376.81,-37.39 379.08,-36.05"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="380.54,-38.7 387.66,-30.86 377.2,-32.54 380.54,-38.7"/>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node4 -->
<g id="edge8" class="edge">
<g id="edge8_Node000006_Node000004" class="edge">
<title>Node6&#45;&gt;Node4</title>
<g id="a_edge8_Node000006_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M485.53,-79.89C502.04,-84.69 520.35,-90.02 537.41,-94.98"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="536.27,-98.58 546.85,-98.01 538.22,-91.86 536.27,-98.58"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<g id="a_Node000007"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<polygon fill="white" stroke="#666666" points="656.88,-79.5 545.62,-79.5 545.62,-49 656.88,-49 656.88,-79.5"/>
<text text-anchor="start" x="553.62" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="601.25" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Contains</text>
@@ -199,15 +226,18 @@ var sectionId = 'dynsection-9';
</g>
</g>
<!-- Node6&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<g id="edge6_Node000006_Node000007" class="edge">
<title>Node6&#45;&gt;Node7</title>
<g id="a_edge6_Node000006_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M489.27,-64.25C503.84,-64.25 519.61,-64.25 534.56,-64.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="534.27,-67.75 544.27,-64.25 534.27,-60.75 534.27,-67.75"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<g id="a_Node000008"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<polygon fill="white" stroke="#666666" points="677.5,-30.5 525,-30.5 525,0 677.5,0 677.5,-30.5"/>
<text text-anchor="start" x="533" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="601.25" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItemByIndex</text>
@@ -215,52 +245,49 @@ var sectionId = 'dynsection-9';
</g>
</g>
<!-- Node6&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<g id="edge7_Node000006_Node000008" class="edge">
<title>Node6&#45;&gt;Node8</title>
<g id="a_edge7_Node000006_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M485.53,-48.61C501.56,-43.95 519.29,-38.79 535.93,-33.96"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="536.49,-37.15 545.12,-30.99 534.54,-30.42 536.49,-37.15"/>
</a>
</g>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<use id="arrowup" xlink:href="#arrowUp" x="0" y="0" onmousedown="handlePan(0,-1)"/>
<use id="arrowright" xlink:href="#arrowRight" x="0" y="0" onmousedown="handlePan(1,0)"/>
<use id="arrowdown" xlink:href="#arrowDown" x="0" y="0" onmousedown="handlePan(0,1)"/>
<use id="arrowleft" xlink:href="#arrowLeft" x="0" y="0" onmousedown="handlePan(-1,0)"/>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -9,9 +9,9 @@
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256.5)">
<title>data_structures::tree_234::Tree234::MergeNode</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="A helper function used during post&#45;merge insert.">
<g id="a_Node000001"><a xlink:title="A helper function used during post&#45;merge insert.">
<polygon fill="#999999" stroke="#666666" points="134.5,-160.5 0,-160.5 0,-130 134.5,-130 134.5,-160.5"/>
<text text-anchor="start" x="8" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="67.25" y="-135.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::MergeNode</text>
@@ -19,9 +19,9 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<polygon fill="white" stroke="#666666" points="308.75,-252.5 198.25,-252.5 198.25,-222 308.75,-222 308.75,-252.5"/>
<text text-anchor="start" x="206.25" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="253.5" y="-227.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetChild</text>
@@ -29,15 +29,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M88.38,-160.94C108.3,-175.84 140.13,-198.03 170.5,-212.25 176.03,-214.84 181.89,-217.24 187.83,-219.44"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="186.27,-222.96 196.87,-222.97 188.6,-216.36 186.27,-222.96"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<g id="a_Node000003"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<polygon fill="white" stroke="#666666" points="307.25,-203.5 199.75,-203.5 199.75,-173 307.25,-173 307.25,-203.5"/>
<text text-anchor="start" x="207.75" y="-190" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="253.5" y="-178.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetItem</text>
@@ -45,15 +48,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M134.77,-160.77C152.35,-164.88 171.29,-169.3 188.73,-173.37"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="187.83,-176.98 198.36,-175.85 189.42,-170.17 187.83,-176.98"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<g id="a_Node000004"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<polygon fill="white" stroke="#666666" points="654.25,-128.5 548.25,-128.5 548.25,-98 654.25,-98 654.25,-128.5"/>
<text text-anchor="start" x="556.25" y="-115" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="601.25" y="-103.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::IsFull</text>
@@ -61,15 +67,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M134.95,-141.75C217.93,-137.33 363.96,-129.31 489,-121.25 504.62,-120.24 521.47,-119.07 537.22,-117.95"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="537.19,-121.38 546.91,-117.17 536.69,-114.4 537.19,-121.38"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<g id="a_Node000005"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<polygon fill="white" stroke="#666666" points="336.5,-117.5 170.5,-117.5 170.5,-87 336.5,-87 336.5,-117.5"/>
<text text-anchor="start" x="178.5" y="-104" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="253.5" y="-92.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::MergeNodeNotFull</text>
@@ -77,15 +86,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M134.77,-129.73C147.7,-126.71 161.36,-123.52 174.62,-120.42"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="175.21,-123.65 184.15,-117.97 173.62,-116.83 175.21,-123.65"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<g id="a_Node000010"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<polygon fill="white" stroke="#666666" points="317,-68.5 190,-68.5 190,-38 317,-38 317,-68.5"/>
<text text-anchor="start" x="198" y="-55" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="253.5" y="-43.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::SplitNode</text>
@@ -93,21 +105,27 @@
</g>
</g>
<!-- Node1&#45;&gt;Node10 -->
<g id="edge11" class="edge">
<g id="edge11_Node000001_Node000010" class="edge">
<title>Node1&#45;&gt;Node10</title>
<g id="a_edge11_Node000001_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M88.38,-129.56C108.3,-114.66 140.13,-92.47 170.5,-78.25 174.79,-76.24 179.27,-74.35 183.84,-72.57"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="184.76,-75.6 192.94,-68.86 182.34,-69.02 184.76,-75.6"/>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node4 -->
<g id="edge9" class="edge">
<g id="edge9_Node000005_Node000004" class="edge">
<title>Node5&#45;&gt;Node4</title>
<g id="a_edge9_Node000005_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M336.88,-104.87C398.2,-106.82 480.69,-109.45 536.9,-111.23"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="536.67,-114.76 546.78,-111.58 536.9,-107.76 536.67,-114.76"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<g id="a_Node000006"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<polygon fill="white" stroke="#666666" points="489,-79.5 372.5,-79.5 372.5,-49 489,-49 489,-79.5"/>
<text text-anchor="start" x="380.5" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="430.75" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItem</text>
@@ -115,15 +133,18 @@
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge5_Node000005_Node000006" class="edge">
<title>Node5&#45;&gt;Node6</title>
<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M327.05,-86.52C338.46,-84.04 350.23,-81.49 361.55,-79.04"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="362.2,-82.26 371.23,-76.72 360.72,-75.42 362.2,-82.26"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<g id="a_Node000009"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="485.62,-30.5 375.88,-30.5 375.88,0 485.62,0 485.62,-30.5"/>
<text text-anchor="start" x="383.88" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="430.75" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
@@ -131,21 +152,27 @@
</g>
</g>
<!-- Node5&#45;&gt;Node9 -->
<g id="edge10" class="edge">
<g id="edge10_Node000005_Node000009" class="edge">
<title>Node5&#45;&gt;Node9</title>
<g id="a_edge10_Node000005_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M317.71,-86.58C324.26,-83.9 330.65,-80.81 336.5,-77.25 356.09,-65.31 353.63,-53.31 372.5,-40.25 374.61,-38.79 376.81,-37.39 379.08,-36.05"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="380.54,-38.7 387.66,-30.86 377.2,-32.54 380.54,-38.7"/>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node4 -->
<g id="edge8" class="edge">
<g id="edge8_Node000006_Node000004" class="edge">
<title>Node6&#45;&gt;Node4</title>
<g id="a_edge8_Node000006_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M485.53,-79.89C502.04,-84.69 520.35,-90.02 537.41,-94.98"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="536.27,-98.58 546.85,-98.01 538.22,-91.86 536.27,-98.58"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<g id="a_Node000007"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<polygon fill="white" stroke="#666666" points="656.88,-79.5 545.62,-79.5 545.62,-49 656.88,-49 656.88,-79.5"/>
<text text-anchor="start" x="553.62" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="601.25" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Contains</text>
@@ -153,15 +180,18 @@
</g>
</g>
<!-- Node6&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<g id="edge6_Node000006_Node000007" class="edge">
<title>Node6&#45;&gt;Node7</title>
<g id="a_edge6_Node000006_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M489.27,-64.25C503.84,-64.25 519.61,-64.25 534.56,-64.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="534.27,-67.75 544.27,-64.25 534.27,-60.75 534.27,-67.75"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<g id="a_Node000008"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<polygon fill="white" stroke="#666666" points="677.5,-30.5 525,-30.5 525,0 677.5,0 677.5,-30.5"/>
<text text-anchor="start" x="533" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="601.25" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItemByIndex</text>
@@ -169,10 +199,13 @@
</g>
</g>
<!-- Node6&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<g id="edge7_Node000006_Node000008" class="edge">
<title>Node6&#45;&gt;Node8</title>
<g id="a_edge7_Node000006_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M485.53,-48.61C501.56,-43.95 519.29,-38.79 535.93,-33.96"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="536.49,-37.15 545.12,-30.99 534.54,-30.42 536.49,-37.15"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -1,5 +1,8 @@
<map id="data_structures::tree_234::Tree234::DeleteNode" name="data_structures::tree_234::Tree234::DeleteNode">
<area shape="rect" id="node1" title="Recursive release the tree." alt="" coords="5,39,187,79"/>
<area shape="rect" id="node2" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" title="Get the child pointer at position of index." alt="" coords="237,5,385,46"/>
<area shape="rect" id="node3" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aac82e17daa088ede9ee00dc69c1e6f06" title="Get the item count that current saved in the node." alt="" coords="235,71,387,111"/>
<area shape="rect" id="Node000001" title="Recursive release the tree." alt="" coords="5,39,187,79"/>
<area shape="poly" id="edge1_Node000001_Node000001" title=" " alt="" coords="55,39,53,29,60,20,74,14,96,12,120,15,134,21,131,26,118,20,96,17,76,19,63,24,59,30,61,37"/>
<area shape="rect" id="Node000002" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" title="Get the child pointer at position of index." alt="" coords="237,5,385,46"/>
<area shape="poly" id="edge2_Node000001_Node000002" title=" " alt="" coords="187,42,222,37,223,42,188,47"/>
<area shape="rect" id="Node000003" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aac82e17daa088ede9ee00dc69c1e6f06" title="Get the item count that current saved in the node." alt="" coords="235,71,387,111"/>
<area shape="poly" id="edge3_Node000001_Node000003" title=" " alt="" coords="188,70,220,75,219,80,187,75"/>
</map>

View File

@@ -1 +1 @@
7f3ced1a3732135de351322787c6d8f2
14e80e78165d85a265a6c99bf841a80e

View File

@@ -6,12 +6,22 @@
<!-- Title: data_structures::tree_234::Tree234::DeleteNode Pages: 1 -->
<svg width="294pt" height="88pt"
viewBox="0.00 0.00 294.25 87.50" 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" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 83.5)">
<title>data_structures::tree_234::Tree234::DeleteNode</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Recursive release the tree.">
<g id="a_Node000001"><a xlink:title="Recursive release the tree.">
<polygon fill="#999999" stroke="#666666" points="136,-54.5 0,-54.5 0,-24 136,-24 136,-54.5"/>
<text text-anchor="start" x="8" y="-41" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="68" y="-29.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::DeleteNode</text>
@@ -19,15 +29,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000001" class="edge">
<title>Node1&#45;&gt;Node1</title>
<g id="a_edge1_Node000001_Node000001"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M39.45,-54.99C33.62,-64.06 43.14,-72.5 68,-72.5 81.98,-72.5 91.11,-69.83 95.39,-65.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="98.97,-66.3 96.55,-55.99 92.01,-65.56 98.97,-66.3"/>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<polygon fill="white" stroke="#666666" points="284.38,-79.5 173.88,-79.5 173.88,-49 284.38,-49 284.38,-79.5"/>
<text text-anchor="start" x="181.88" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="229.12" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetChild</text>
@@ -35,15 +48,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge2" class="edge">
<g id="edge2_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge2_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M136.48,-49.85C145.18,-51.22 154.07,-52.62 162.73,-53.98"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="162.13,-57.58 172.55,-55.68 163.21,-50.67 162.13,-57.58"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aac82e17daa088ede9ee00dc69c1e6f06" target="_top" xlink:title="Get the item count that current saved in the node.">
<g id="a_Node000003"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aac82e17daa088ede9ee00dc69c1e6f06" target="_top" xlink:title="Get the item count that current saved in the node.">
<polygon fill="white" stroke="#666666" points="286.25,-30.5 172,-30.5 172,0 286.25,0 286.25,-30.5"/>
<text text-anchor="start" x="180" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="229.12" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetCount</text>
@@ -51,10 +67,28 @@
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge3" class="edge">
<g id="edge3_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge3_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M136.48,-29.07C144.52,-27.86 152.72,-26.62 160.76,-25.41"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="161.21,-28.73 170.58,-23.78 160.17,-21.81 161.21,-28.73"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

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 8.0.5 (20230430.1635)
-->
<!-- Title: data_structures::tree_234::Tree234::DeleteNode Pages: 1 -->
<svg width="294pt" height="88pt"
viewBox="0.00 0.00 294.25 87.50" 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 83.5)">
<title>data_structures::tree_234::Tree234::DeleteNode</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Recursive release the tree.">
<polygon fill="#999999" stroke="#666666" points="136,-54.5 0,-54.5 0,-24 136,-24 136,-54.5"/>
<text text-anchor="start" x="8" y="-41" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="68" y="-29.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::DeleteNode</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge1_Node000001_Node000001" class="edge">
<title>Node1&#45;&gt;Node1</title>
<g id="a_edge1_Node000001_Node000001"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M39.45,-54.99C33.62,-64.06 43.14,-72.5 68,-72.5 81.98,-72.5 91.11,-69.83 95.39,-65.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="98.97,-66.3 96.55,-55.99 92.01,-65.56 98.97,-66.3"/>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<polygon fill="white" stroke="#666666" points="284.38,-79.5 173.88,-79.5 173.88,-49 284.38,-49 284.38,-79.5"/>
<text text-anchor="start" x="181.88" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="229.12" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetChild</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge2_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge2_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M136.48,-49.85C145.18,-51.22 154.07,-52.62 162.73,-53.98"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="162.13,-57.58 172.55,-55.68 163.21,-50.67 162.13,-57.58"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aac82e17daa088ede9ee00dc69c1e6f06" target="_top" xlink:title="Get the item count that current saved in the node.">
<polygon fill="white" stroke="#666666" points="286.25,-30.5 172,-30.5 172,0 286.25,0 286.25,-30.5"/>
<text text-anchor="start" x="180" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="229.12" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetCount</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge3_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge3_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M136.48,-29.07C144.52,-27.86 152.72,-26.62 160.76,-25.41"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="161.21,-28.73 170.58,-23.78 160.17,-21.81 161.21,-28.73"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -1,7 +1,11 @@
<map id="data_structures::tree_234::Tree234::Print" name="data_structures::tree_234::Tree234::Print">
<area shape="rect" id="node1" title="Print tree into a dot file." alt="" coords="5,73,147,113"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/basic_ofstream/close.html#" title=" " alt="" coords="211,5,349,31"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="244,55,316,80"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/basic_ofstream/open.html#" title=" " alt="" coords="213,104,347,130"/>
<area shape="rect" id="node5" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#af260f0760344771bf8fce4fc9b1739be" title="Print the tree to a dot file. You can convert it to picture with graphviz." alt="" coords="195,154,365,195"/>
<area shape="rect" id="Node000001" title="Print tree into a dot file." alt="" coords="5,73,147,113"/>
<area shape="rect" id="Node000002" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/basic_ofstream/close.html#" title=" " alt="" coords="211,5,349,31"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="121,70,194,40,213,33,214,38,196,45,123,74"/>
<area shape="rect" id="Node000003" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="244,55,316,80"/>
<area shape="poly" id="edge2_Node000001_Node000003" title=" " alt="" coords="147,81,229,71,230,76,147,87"/>
<area shape="rect" id="Node000004" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/basic_ofstream/open.html#" title=" " alt="" coords="213,104,347,130"/>
<area shape="poly" id="edge3_Node000001_Node000004" title=" " alt="" coords="147,99,198,105,197,110,147,104"/>
<area shape="rect" id="Node000005" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#af260f0760344771bf8fce4fc9b1739be" title="Print the tree to a dot file. You can convert it to picture with graphviz." alt="" coords="195,154,365,195"/>
<area shape="poly" id="edge4_Node000001_Node000005" title=" " alt="" coords="127,111,196,140,211,146,209,151,194,145,125,116"/>
</map>

View File

@@ -1 +1 @@
8fa6589ffbff94725458a78f7d2a6dec
6e1034a7b2539208479742a12ae92ab9

View File

@@ -6,12 +6,22 @@
<!-- Title: data_structures::tree_234::Tree234::Print Pages: 1 -->
<svg width="278pt" height="150pt"
viewBox="0.00 0.00 277.75 149.88" 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" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 145.88)">
<title>data_structures::tree_234::Tree234::Print</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Print tree into a dot file.">
<g id="a_Node000001"><a xlink:title="Print tree into a dot file.">
<polygon fill="#999999" stroke="#666666" points="106,-91.5 0,-91.5 0,-61 106,-61 106,-91.5"/>
<text text-anchor="start" x="8" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="53" y="-66.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Print</text>
@@ -19,54 +29,63 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/basic_ofstream/close.html#" xlink:title=" ">
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/basic_ofstream/close.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="257.38,-141.88 154.38,-141.88 154.38,-122.62 257.38,-122.62 257.38,-141.88"/>
<text text-anchor="middle" x="205.88" y="-128.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::ofstream::close</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M87.44,-91.9C103.71,-99.2 123.67,-107.7 142,-114.25 146.57,-115.88 151.38,-117.48 156.2,-118.99"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="155.14,-122.63 165.72,-122.18 157.17,-115.93 155.14,-122.63"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="232.62,-104.88 179.12,-104.88 179.12,-85.62 232.62,-85.62 232.62,-104.88"/>
<text text-anchor="middle" x="205.88" y="-91.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M106.35,-82.84C126.74,-85.41 149.63,-88.29 168.21,-90.63"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="167.52,-94.2 177.87,-91.98 168.39,-87.25 167.52,-94.2"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/basic_ofstream/open.html#" xlink:title=" ">
<g id="a_Node000004"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/basic_ofstream/open.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="256.25,-67.88 155.5,-67.88 155.5,-48.62 256.25,-48.62 256.25,-67.88"/>
<text text-anchor="middle" x="205.88" y="-54.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::ofstream::open</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M106.35,-70C118.59,-68.54 131.73,-66.98 144.3,-65.48"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="144.65,-68.84 154.16,-64.18 143.82,-61.89 144.65,-68.84"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#af260f0760344771bf8fce4fc9b1739be" target="_top" xlink:title="Print the tree to a dot file. You can convert it to picture with graphviz.">
<g id="a_Node000005"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#af260f0760344771bf8fce4fc9b1739be" target="_top" xlink:title="Print the tree to a dot file. You can convert it to picture with graphviz.">
<polygon fill="white" stroke="#666666" points="269.75,-30.5 142,-30.5 142,0 269.75,0 269.75,-30.5"/>
<text text-anchor="start" x="150" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="205.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::PrintNode</text>
@@ -74,10 +93,28 @@
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M90.28,-60.68C106.11,-53.96 124.93,-46.1 142,-39.25 145.63,-37.79 149.38,-36.31 153.17,-34.83"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="154.14,-37.82 162.2,-30.93 151.61,-31.29 154.14,-37.82"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -0,0 +1,95 @@
<?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 8.0.5 (20230430.1635)
-->
<!-- Title: data_structures::tree_234::Tree234::Print Pages: 1 -->
<svg width="278pt" height="150pt"
viewBox="0.00 0.00 277.75 149.88" 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 145.88)">
<title>data_structures::tree_234::Tree234::Print</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Print tree into a dot file.">
<polygon fill="#999999" stroke="#666666" points="106,-91.5 0,-91.5 0,-61 106,-61 106,-91.5"/>
<text text-anchor="start" x="8" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="53" y="-66.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Print</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/basic_ofstream/close.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="257.38,-141.88 154.38,-141.88 154.38,-122.62 257.38,-122.62 257.38,-141.88"/>
<text text-anchor="middle" x="205.88" y="-128.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::ofstream::close</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M87.44,-91.9C103.71,-99.2 123.67,-107.7 142,-114.25 146.57,-115.88 151.38,-117.48 156.2,-118.99"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="155.14,-122.63 165.72,-122.18 157.17,-115.93 155.14,-122.63"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="232.62,-104.88 179.12,-104.88 179.12,-85.62 232.62,-85.62 232.62,-104.88"/>
<text text-anchor="middle" x="205.88" y="-91.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M106.35,-82.84C126.74,-85.41 149.63,-88.29 168.21,-90.63"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="167.52,-94.2 177.87,-91.98 168.39,-87.25 167.52,-94.2"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/basic_ofstream/open.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="256.25,-67.88 155.5,-67.88 155.5,-48.62 256.25,-48.62 256.25,-67.88"/>
<text text-anchor="middle" x="205.88" y="-54.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::ofstream::open</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M106.35,-70C118.59,-68.54 131.73,-66.98 144.3,-65.48"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="144.65,-68.84 154.16,-64.18 143.82,-61.89 144.65,-68.84"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#af260f0760344771bf8fce4fc9b1739be" target="_top" xlink:title="Print the tree to a dot file. You can convert it to picture with graphviz.">
<polygon fill="white" stroke="#666666" points="269.75,-30.5 142,-30.5 142,0 269.75,0 269.75,-30.5"/>
<text text-anchor="start" x="150" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="205.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::PrintNode</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M90.28,-60.68C106.11,-53.96 124.93,-46.1 142,-39.25 145.63,-37.79 149.38,-36.31 153.17,-34.83"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="154.14,-37.82 162.2,-30.93 151.61,-31.29 154.14,-37.82"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -1,9 +1,15 @@
<map id="data_structures::tree_234::Tree234::Merge" name="data_structures::tree_234::Tree234::Merge">
<area shape="rect" id="node1" title="Merge the item at index of the parent node, and its left and right child." alt="" coords="5,169,154,210"/>
<area shape="rect" id="node2" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" title="Get the child pointer at position of index." alt="" coords="204,5,351,46"/>
<area shape="rect" id="node3" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" title="Get item of the \index index." alt="" coords="206,71,349,111"/>
<area shape="rect" id="node4" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" title="Check if node is a 2&#45;node." alt="" coords="205,136,350,177"/>
<area shape="rect" id="node5" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="204,201,351,242"/>
<area shape="rect" id="node6" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1" title="Set the item count of the node." alt="" coords="202,267,353,307"/>
<area shape="rect" id="node7" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc" title="Set item value at position of index." alt="" coords="206,332,349,373"/>
<area shape="rect" id="Node000001" title="Merge the item at index of the parent node, and its left and right child." alt="" coords="5,169,154,210"/>
<area shape="rect" id="Node000002" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" title="Get the child pointer at position of index." alt="" coords="204,5,351,46"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="94,167,138,114,167,84,200,57,208,51,211,56,203,61,171,88,142,117,98,171"/>
<area shape="rect" id="Node000003" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" title="Get item of the \index index." alt="" coords="206,71,349,111"/>
<area shape="poly" id="edge2_Node000001_Node000003" title=" " alt="" coords="116,167,200,122,214,115,216,120,203,127,119,171"/>
<area shape="rect" id="Node000004" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" title="Check if node is a 2&#45;node." alt="" coords="205,136,350,177"/>
<area shape="poly" id="edge3_Node000001_Node000004" title=" " alt="" coords="154,175,189,168,190,174,155,180"/>
<area shape="rect" id="Node000005" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="204,201,351,242"/>
<area shape="poly" id="edge4_Node000001_Node000005" title=" " alt="" coords="154,199,190,205,189,210,154,204"/>
<area shape="rect" id="Node000006" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1" title="Set the item count of the node." alt="" coords="202,267,353,307"/>
<area shape="poly" id="edge5_Node000001_Node000006" title=" " alt="" coords="120,208,203,251,216,258,214,263,200,256,117,213"/>
<area shape="rect" id="Node000007" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc" title="Set item value at position of index." alt="" coords="206,332,349,373"/>
<area shape="poly" id="edge6_Node000001_Node000007" title=" " alt="" coords="98,209,142,262,171,291,203,317,211,322,208,327,200,321,168,295,138,265,94,212"/>
</map>

View File

@@ -1 +1 @@
8d539f8be85cdfcf369cc9d2c8204c25
0bf1646aa61c24e2ac9e0183b5e572f8

View File

@@ -6,12 +6,22 @@
<!-- Title: data_structures::tree_234::Tree234::Merge Pages: 1 -->
<svg width="269pt" height="284pt"
viewBox="0.00 0.00 268.75 283.50" 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" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 279.5)">
<title>data_structures::tree_234::Tree234::Merge</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Merge the item at index of the parent node, and its left and right child.">
<g id="a_Node000001"><a xlink:title="Merge the item at index of the parent node, and its left and right child.">
<polygon fill="#999999" stroke="#666666" points="111.25,-152.5 0,-152.5 0,-122 111.25,-122 111.25,-152.5"/>
<text text-anchor="start" x="8" y="-139" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="55.62" y="-127.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Merge</text>
@@ -19,9 +29,9 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<polygon fill="white" stroke="#666666" points="259.25,-275.5 148.75,-275.5 148.75,-245 259.25,-245 259.25,-275.5"/>
<text text-anchor="start" x="156.75" y="-262" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="204" y="-250.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetChild</text>
@@ -29,15 +39,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M67.67,-152.65C83.37,-173.63 113.94,-211.32 147.25,-235.25 149.17,-236.63 151.19,-237.96 153.26,-239.24"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="151.19,-242.66 161.63,-244.51 154.63,-236.56 151.19,-242.66"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<g id="a_Node000003"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<polygon fill="white" stroke="#666666" points="257.75,-226.5 150.25,-226.5 150.25,-196 257.75,-196 257.75,-226.5"/>
<text text-anchor="start" x="158.25" y="-213" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="204" y="-201.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetItem</text>
@@ -45,15 +58,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M84.11,-152.8C101.94,-162.71 125.76,-175.64 147.25,-186.25 150.54,-187.87 153.95,-189.51 157.4,-191.13"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="155.58,-194.61 166.13,-195.64 158.52,-188.26 155.58,-194.61"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" target="_top" xlink:title="Check if node is a 2&#45;node.">
<g id="a_Node000004"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" target="_top" xlink:title="Check if node is a 2&#45;node.">
<polygon fill="white" stroke="#666666" points="258.5,-177.5 149.5,-177.5 149.5,-147 258.5,-147 258.5,-177.5"/>
<text text-anchor="start" x="157.5" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="204" y="-152.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Is2Node</text>
@@ -61,15 +77,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M111.55,-146.63C120.31,-148.13 129.45,-149.69 138.42,-151.22"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="137.78,-154.83 148.23,-153.07 138.96,-147.93 137.78,-154.83"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<g id="a_Node000005"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="258.88,-128.5 149.12,-128.5 149.12,-98 258.88,-98 258.88,-128.5"/>
<text text-anchor="start" x="157.12" y="-115" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="204" y="-103.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
@@ -77,15 +96,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M111.55,-128.25C120.2,-126.83 129.21,-125.35 138.06,-123.9"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="138.44,-127.22 147.74,-122.15 137.31,-120.31 138.44,-127.22"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1" target="_top" xlink:title="Set the item count of the node.">
<g id="a_Node000006"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1" target="_top" xlink:title="Set the item count of the node.">
<polygon fill="white" stroke="#666666" points="260.75,-79.5 147.25,-79.5 147.25,-49 260.75,-49 260.75,-79.5"/>
<text text-anchor="start" x="155.25" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="204" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetCount</text>
@@ -93,15 +115,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge5_Node000001_Node000006" class="edge">
<title>Node1&#45;&gt;Node6</title>
<g id="a_edge5_Node000001_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M84.95,-121.63C102.7,-112 126.13,-99.56 147.25,-89.25 150.54,-87.64 153.96,-86.01 157.41,-84.4"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="158.53,-87.27 166.15,-79.91 155.6,-80.92 158.53,-87.27"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc" target="_top" xlink:title="Set item value at position of index.">
<g id="a_Node000007"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc" target="_top" xlink:title="Set item value at position of index.">
<polygon fill="white" stroke="#666666" points="257.38,-30.5 150.62,-30.5 150.62,0 257.38,0 257.38,-30.5"/>
<text text-anchor="start" x="158.62" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="204" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetItem</text>
@@ -109,10 +134,28 @@
</g>
</g>
<!-- Node1&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<g id="edge6_Node000001_Node000007" class="edge">
<title>Node1&#45;&gt;Node7</title>
<g id="a_edge6_Node000001_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M67.98,-121.66C83.79,-100.84 114.25,-63.83 147.25,-40.25 149.21,-38.85 151.27,-37.5 153.38,-36.2"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="154.91,-38.79 161.94,-30.86 151.5,-32.68 154.91,-38.79"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

@@ -0,0 +1,136 @@
<?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 8.0.5 (20230430.1635)
-->
<!-- Title: data_structures::tree_234::Tree234::Merge Pages: 1 -->
<svg width="269pt" height="284pt"
viewBox="0.00 0.00 268.75 283.50" 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 279.5)">
<title>data_structures::tree_234::Tree234::Merge</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Merge the item at index of the parent node, and its left and right child.">
<polygon fill="#999999" stroke="#666666" points="111.25,-152.5 0,-152.5 0,-122 111.25,-122 111.25,-152.5"/>
<text text-anchor="start" x="8" y="-139" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="55.62" y="-127.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Merge</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<polygon fill="white" stroke="#666666" points="259.25,-275.5 148.75,-275.5 148.75,-245 259.25,-245 259.25,-275.5"/>
<text text-anchor="start" x="156.75" y="-262" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="204" y="-250.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetChild</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M67.67,-152.65C83.37,-173.63 113.94,-211.32 147.25,-235.25 149.17,-236.63 151.19,-237.96 153.26,-239.24"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="151.19,-242.66 161.63,-244.51 154.63,-236.56 151.19,-242.66"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<polygon fill="white" stroke="#666666" points="257.75,-226.5 150.25,-226.5 150.25,-196 257.75,-196 257.75,-226.5"/>
<text text-anchor="start" x="158.25" y="-213" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="204" y="-201.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetItem</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M84.11,-152.8C101.94,-162.71 125.76,-175.64 147.25,-186.25 150.54,-187.87 153.95,-189.51 157.4,-191.13"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="155.58,-194.61 166.13,-195.64 158.52,-188.26 155.58,-194.61"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" target="_top" xlink:title="Check if node is a 2&#45;node.">
<polygon fill="white" stroke="#666666" points="258.5,-177.5 149.5,-177.5 149.5,-147 258.5,-147 258.5,-177.5"/>
<text text-anchor="start" x="157.5" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="204" y="-152.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Is2Node</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M111.55,-146.63C120.31,-148.13 129.45,-149.69 138.42,-151.22"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="137.78,-154.83 148.23,-153.07 138.96,-147.93 137.78,-154.83"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="258.88,-128.5 149.12,-128.5 149.12,-98 258.88,-98 258.88,-128.5"/>
<text text-anchor="start" x="157.12" y="-115" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="204" y="-103.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M111.55,-128.25C120.2,-126.83 129.21,-125.35 138.06,-123.9"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="138.44,-127.22 147.74,-122.15 137.31,-120.31 138.44,-127.22"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_Node000006"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1" target="_top" xlink:title="Set the item count of the node.">
<polygon fill="white" stroke="#666666" points="260.75,-79.5 147.25,-79.5 147.25,-49 260.75,-49 260.75,-79.5"/>
<text text-anchor="start" x="155.25" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="204" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetCount</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge5_Node000001_Node000006" class="edge">
<title>Node1&#45;&gt;Node6</title>
<g id="a_edge5_Node000001_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M84.95,-121.63C102.7,-112 126.13,-99.56 147.25,-89.25 150.54,-87.64 153.96,-86.01 157.41,-84.4"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="158.53,-87.27 166.15,-79.91 155.6,-80.92 158.53,-87.27"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_Node000007"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc" target="_top" xlink:title="Set item value at position of index.">
<polygon fill="white" stroke="#666666" points="257.38,-30.5 150.62,-30.5 150.62,0 257.38,0 257.38,-30.5"/>
<text text-anchor="start" x="158.62" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="204" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetItem</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node7 -->
<g id="edge6_Node000001_Node000007" class="edge">
<title>Node1&#45;&gt;Node7</title>
<g id="a_edge6_Node000001_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M67.98,-121.66C83.79,-100.84 114.25,-63.83 147.25,-40.25 149.21,-38.85 151.27,-37.5 153.38,-36.2"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="154.91,-38.79 161.94,-30.86 151.5,-32.68 154.91,-38.79"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@@ -1,22 +1,46 @@
<map id="data_structures::tree_234::Tree234::Remove" name="data_structures::tree_234::Tree234::Remove">
<area shape="rect" id="node1" title="Remove item from tree." alt="" coords="5,585,167,626"/>
<area shape="rect" id="node2" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a61dd051a74e5f36c8dc03dae8dca6ef4" title="Main function implement the pre&#45;merge remove operation." alt="" coords="215,585,432,626"/>
<area shape="rect" id="node3" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657" title="Get the max item of the tree." alt="" coords="480,71,690,111"/>
<area shape="rect" id="node6" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36" title="Get the min item of the tree." alt="" coords="482,201,688,242"/>
<area shape="rect" id="node9" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" title="Check if node is a 2&#45;node." alt="" coords="769,593,915,634"/>
<area shape="rect" id="node10" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18" title="Check if node is a 3&#45;node or 4&#45;node, this is useful when we delete item from 2&#45;3&#45;4 tree." alt="" coords="509,815,661,855"/>
<area shape="rect" id="node11" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e" title="Do the actual left rotate operation." alt="" coords="755,659,929,699"/>
<area shape="rect" id="node12" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9" title="Merge the item at index of the parent node, and its left and right child." alt="" coords="511,463,659,503"/>
<area shape="rect" id="node18" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9" title="Do the actual right rotate operation." alt="" coords="751,736,933,777"/>
<area shape="rect" id="node19" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9" title="A handy function to try if we can do a left rotate to the target node." alt="" coords="489,585,681,626"/>
<area shape="rect" id="node20" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3" title="A handy function to try if we can do a right rotate to the target node." alt="" coords="485,700,686,741"/>
<area shape="rect" id="node4" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57" title="Get max item (rightmost) in the current node." alt="" coords="758,5,926,46"/>
<area shape="rect" id="node5" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94" title="Get rightmose child of the current node." alt="" coords="738,71,946,111"/>
<area shape="rect" id="node7" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e" title="Get leftmose child of the current node." alt="" coords="743,136,941,177"/>
<area shape="rect" id="node8" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71" title="get min item (leftmost) in the current node" alt="" coords="760,201,924,242"/>
<area shape="rect" id="node13" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" title="Get the child pointer at position of index." alt="" coords="768,332,916,373"/>
<area shape="rect" id="node14" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" title="Get item of the \index index." alt="" coords="770,397,914,438"/>
<area shape="rect" id="node15" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="769,463,915,503"/>
<area shape="rect" id="node16" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1" title="Set the item count of the node." alt="" coords="766,528,918,569"/>
<area shape="rect" id="node17" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc" title="Set item value at position of index." alt="" coords="771,267,913,307"/>
<area shape="rect" id="Node000001" title="Remove item from tree." alt="" coords="5,585,167,626"/>
<area shape="rect" id="Node000002" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a61dd051a74e5f36c8dc03dae8dca6ef4" title="Main function implement the pre&#45;merge remove operation." alt="" coords="215,585,432,626"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="167,603,200,603,200,608,167,608"/>
<area shape="rect" id="Node000003" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657" title="Get the max item of the tree." alt="" coords="480,71,690,111"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="326,584,343,515,373,414,418,299,446,242,478,188,509,150,543,119,547,122,513,154,482,191,451,244,423,301,378,416,348,516,331,586"/>
<area shape="rect" id="Node000006" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36" title="Get the min item of the tree." alt="" coords="482,201,688,242"/>
<area shape="poly" id="edge5_Node000002_Node000006" title=" " alt="" coords="336,584,560,253,564,256,341,587"/>
<area shape="rect" id="Node000009" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" title="Check if node is a 2&#45;node." alt="" coords="769,593,915,634"/>
<area shape="poly" id="edge8_Node000002_Node000009" title=" " alt="" coords="410,582,480,571,585,563,691,571,763,586,762,591,690,576,585,568,480,576,411,587"/>
<area shape="rect" id="Node000010" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18" title="Check if node is a 3&#45;node or 4&#45;node, this is useful when we delete item from 2&#45;3&#45;4 tree." alt="" coords="509,815,661,855"/>
<area shape="poly" id="edge9_Node000002_Node000010" title=" " alt="" coords="339,625,394,706,435,753,482,794,500,806,498,810,478,798,431,757,390,710,334,628"/>
<area shape="rect" id="Node000011" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e" title="Do the actual left rotate operation." alt="" coords="755,659,929,699"/>
<area shape="poly" id="edge10_Node000002_Node000011" title=" " alt="" coords="420,624,480,635,616,654,740,667,740,673,615,659,480,640,419,629"/>
<area shape="rect" id="Node000012" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9" title="Merge the item at index of the parent node, and its left and right child." alt="" coords="511,463,659,503"/>
<area shape="poly" id="edge11_Node000002_Node000012" title=" " alt="" coords="365,583,479,527,522,507,524,512,481,532,367,587"/>
<area shape="rect" id="Node000018" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9" title="Do the actual right rotate operation." alt="" coords="751,736,933,777"/>
<area shape="poly" id="edge18_Node000002_Node000018" title=" " alt="" coords="341,625,364,655,396,690,436,724,481,750,544,768,611,776,676,777,736,772,736,777,676,782,610,782,543,774,479,755,433,729,392,694,360,658,336,628"/>
<area shape="rect" id="Node000019" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9" title="A handy function to try if we can do a left rotate to the target node." alt="" coords="489,585,681,626"/>
<area shape="poly" id="edge19_Node000002_Node000019" title=" " alt="" coords="432,603,474,603,474,608,432,608"/>
<area shape="rect" id="Node000020" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3" title="A handy function to try if we can do a right rotate to the target node." alt="" coords="485,700,686,741"/>
<area shape="poly" id="edge22_Node000002_Node000020" title=" " alt="" coords="366,624,481,679,512,692,510,697,479,684,363,629"/>
<area shape="rect" id="Node000004" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57" title="Get max item (rightmost) in the current node." alt="" coords="758,5,926,46"/>
<area shape="poly" id="edge3_Node000003_Node000004" title=" " alt="" coords="667,67,745,48,746,53,669,73"/>
<area shape="rect" id="Node000005" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94" title="Get rightmose child of the current node." alt="" coords="738,71,946,111"/>
<area shape="poly" id="edge4_Node000003_Node000005" title=" " alt="" coords="691,88,723,88,723,94,691,94"/>
<area shape="rect" id="Node000007" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e" title="Get leftmose child of the current node." alt="" coords="743,136,941,177"/>
<area shape="poly" id="edge6_Node000006_Node000007" title=" " alt="" coords="667,198,745,178,746,183,669,203"/>
<area shape="rect" id="Node000008" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71" title="get min item (leftmost) in the current node" alt="" coords="760,201,924,242"/>
<area shape="poly" id="edge7_Node000006_Node000008" title=" " alt="" coords="689,219,745,219,745,224,689,224"/>
<area shape="poly" id="edge14_Node000012_Node000009" title=" " alt="" coords="645,502,692,527,707,541,716,554,725,566,740,578,757,587,754,592,737,583,721,570,712,557,703,545,689,532,642,506"/>
<area shape="rect" id="Node000013" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" title="Get the child pointer at position of index." alt="" coords="768,332,916,373"/>
<area shape="poly" id="edge12_Node000012_Node000013" title=" " alt="" coords="613,460,669,422,737,383,754,376,756,381,740,388,672,426,616,464"/>
<area shape="rect" id="Node000014" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" title="Get item of the \index index." alt="" coords="770,397,914,438"/>
<area shape="poly" id="edge13_Node000012_Node000014" title=" " alt="" coords="659,462,755,437,756,442,660,467"/>
<area shape="rect" id="Node000015" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="769,463,915,503"/>
<area shape="poly" id="edge15_Node000012_Node000015" title=" " alt="" coords="660,480,754,480,754,486,660,486"/>
<area shape="rect" id="Node000016" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1" title="Set the item count of the node." alt="" coords="766,528,918,569"/>
<area shape="poly" id="edge16_Node000012_Node000016" title=" " alt="" coords="660,499,752,523,751,528,659,504"/>
<area shape="rect" id="Node000017" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc" title="Set item value at position of index." alt="" coords="771,267,913,307"/>
<area shape="poly" id="edge17_Node000012_Node000017" title=" " alt="" coords="598,461,654,391,693,352,737,318,756,308,758,313,740,323,696,356,658,395,602,464"/>
<area shape="poly" id="edge20_Node000019_Node000009" title=" " alt="" coords="682,606,755,608,755,614,682,611"/>
<area shape="poly" id="edge21_Node000019_Node000011" title=" " alt="" coords="660,624,755,651,753,657,658,629"/>
<area shape="poly" id="edge23_Node000020_Node000009" title=" " alt="" coords="625,697,737,645,758,637,760,642,739,649,627,702"/>
<area shape="poly" id="edge24_Node000020_Node000018" title=" " alt="" coords="687,732,736,739,736,744,686,737"/>
</map>

View File

@@ -1 +1 @@
7729f3c822dfe86b277fcdfa52055162
56a15f5779160075adf9553e4289531e

View File

@@ -5,59 +5,59 @@
-->
<!-- Title: data_structures::tree_234::Tree234::Remove Pages: 1 -->
<!--zoomable 646 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="text/javascript"><![CDATA[
var edges = document.getElementsByTagName('g');
if (edges && edges.length) {
for (var i=0;i<edges.length;i++) {
if (edges[i].id.substr(0,4)=='edge') {
edges[i].setAttribute('class','edge');
}
}
}
]]></script>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/></use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/></use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="arrowUp" transform="translate(30 24)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" transform="rotate(90) translate(36 -43)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" transform="rotate(180) translate(-30 -48)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" transform="rotate(270) translate(-36 17)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040"><set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/></use>
</g>
</defs>
<script type="application/ecmascript">
var viewWidth = 713;
var viewHeight = 646;
var sectionId = 'dynsection-12';
</script>
<script xlink:href="../../svgpan.js"/>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>data_structures::tree_234::Tree234::Remove</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Remove item from tree.">
<g id="a_Node000001"><a xlink:title="Remove item from tree.">
<polygon fill="#999999" stroke="#666666" points="121,-202.5 0,-202.5 0,-172 121,-172 121,-202.5"/>
<text text-anchor="start" x="8" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="60.5" y="-177.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Remove</text>
@@ -65,9 +65,9 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a61dd051a74e5f36c8dc03dae8dca6ef4" target="_top" xlink:title="Main function implement the pre&#45;merge remove operation.">
<g id="a_Node000002"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a61dd051a74e5f36c8dc03dae8dca6ef4" target="_top" xlink:title="Main function implement the pre&#45;merge remove operation.">
<polygon fill="white" stroke="#666666" points="320,-202.5 157,-202.5 157,-172 320,-172 320,-202.5"/>
<text text-anchor="start" x="165" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="238.5" y="-177.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::RemovePreMerge</text>
@@ -75,15 +75,18 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M121.09,-187.25C129.15,-187.25 137.57,-187.25 146.03,-187.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="145.75,-190.75 155.75,-187.25 145.75,-183.75 145.75,-190.75"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657" target="_top" xlink:title="Get the max item of the tree.">
<g id="a_Node000003"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657" target="_top" xlink:title="Get the max item of the tree.">
<polygon fill="white" stroke="#666666" points="513.75,-588.5 356,-588.5 356,-558 513.75,-558 513.75,-588.5"/>
<text text-anchor="start" x="364" y="-575" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="434.88" y="-563.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::GetTreeMaxItem</text>
@@ -91,15 +94,18 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M242.65,-202.67C252.87,-250.13 288.4,-397 356,-499.25 369.14,-519.12 388.55,-537.59 404.71,-551.1"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="401.85,-554.1 411.81,-557.7 406.27,-548.67 401.85,-554.1"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36" target="_top" xlink:title="Get the min item of the tree.">
<g id="a_Node000006"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36" target="_top" xlink:title="Get the min item of the tree.">
<polygon fill="white" stroke="#666666" points="512.25,-490.5 357.5,-490.5 357.5,-460 512.25,-460 512.25,-490.5"/>
<text text-anchor="start" x="365.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="434.88" y="-465.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::GetTreeMinItem</text>
@@ -107,15 +113,18 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node2&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge5_Node000002_Node000006" class="edge">
<title>Node2&#45;&gt;Node6</title>
<g id="a_edge5_Node000002_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M249.95,-202.73C281.92,-250.1 378.59,-393.33 417.44,-450.9"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="414.88,-452.36 423.37,-458.69 420.68,-448.44 414.88,-452.36"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" target="_top" xlink:title="Check if node is a 2&#45;node.">
<g id="a_Node000009"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" target="_top" xlink:title="Check if node is a 2&#45;node.">
<polygon fill="white" stroke="#666666" points="682,-196.5 573,-196.5 573,-166 682,-166 682,-196.5"/>
<text text-anchor="start" x="581" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-171.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Is2Node</text>
@@ -123,15 +132,18 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node2&#45;&gt;Node9 -->
<g id="edge8" class="edge">
<g id="edge8_Node000002_Node000009" class="edge">
<title>Node2&#45;&gt;Node9</title>
<g id="a_edge8_Node000002_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M304.15,-203C320.93,-206.42 339.05,-209.52 356,-211.25 425.75,-218.36 444.23,-220.34 513.75,-211.25 531.63,-208.91 550.71,-204.57 567.99,-199.91"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="568.8,-203.03 577.49,-196.97 566.92,-196.29 568.8,-203.03"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18" target="_top" xlink:title="Check if node is a 3&#45;node or 4&#45;node, this is useful when we delete item from 2&#45;3&#45;4 tree.">
<g id="a_Node000010"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18" target="_top" xlink:title="Check if node is a 3&#45;node or 4&#45;node, this is useful when we delete item from 2&#45;3&#45;4 tree.">
<polygon fill="white" stroke="#666666" points="492,-30.5 377.75,-30.5 377.75,0 492,0 492,-30.5"/>
<text text-anchor="start" x="385.75" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="434.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Is34Node</text>
@@ -139,15 +151,18 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node2&#45;&gt;Node10 -->
<g id="edge9" class="edge">
<g id="edge9_Node000002_Node000010" class="edge">
<title>Node2&#45;&gt;Node10</title>
<g id="a_edge9_Node000002_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M248.33,-171.62C265.48,-142.59 306.03,-80.06 356,-44.25 360.43,-41.07 365.25,-38.21 370.25,-35.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="371.48,-38.44 379.02,-30.99 368.48,-32.11 371.48,-38.44"/>
</a>
</g>
</g>
<!-- Node11 -->
<g id="node11" class="node">
<g id="Node000011" class="node">
<title>Node11</title>
<g id="a_node11"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e" target="_top" xlink:title="Do the actual left rotate operation.">
<g id="a_Node000011"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e" target="_top" xlink:title="Do the actual left rotate operation.">
<polygon fill="white" stroke="#666666" points="692.5,-147.5 562.5,-147.5 562.5,-117 692.5,-117 692.5,-147.5"/>
<text text-anchor="start" x="570.5" y="-134" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-122.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::LeftRotate</text>
@@ -155,15 +170,18 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node2&#45;&gt;Node11 -->
<g id="edge10" class="edge">
<g id="edge10_Node000002_Node000011" class="edge">
<title>Node2&#45;&gt;Node11</title>
<g id="a_edge10_Node000002_Node000011"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M310.78,-171.52C325.68,-168.52 341.32,-165.6 356,-163.25 421.61,-152.75 496.72,-144.44 551.12,-139.07"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="551.45,-142.46 561.06,-138.01 550.77,-135.49 551.45,-142.46"/>
</a>
</g>
</g>
<!-- Node12 -->
<g id="node12" class="node">
<g id="Node000012" class="node">
<title>Node12</title>
<g id="a_node12"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9" target="_top" xlink:title="Merge the item at index of the parent node, and its left and right child.">
<g id="a_Node000012"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9" target="_top" xlink:title="Merge the item at index of the parent node, and its left and right child.">
<polygon fill="white" stroke="#666666" points="490.5,-294.5 379.25,-294.5 379.25,-264 490.5,-264 490.5,-294.5"/>
<text text-anchor="start" x="387.25" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="434.88" y="-269.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Merge</text>
@@ -171,15 +189,18 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node2&#45;&gt;Node12 -->
<g id="edge11" class="edge">
<g id="edge11_Node000002_Node000012" class="edge">
<title>Node2&#45;&gt;Node12</title>
<g id="a_edge11_Node000002_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M270.52,-202.77C293.92,-214.39 326.85,-230.57 356,-244.25 366.47,-249.16 377.8,-254.34 388.49,-259.15"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="386.93,-262.74 397.49,-263.64 389.8,-256.35 386.93,-262.74"/>
</a>
</g>
</g>
<!-- Node18 -->
<g id="node18" class="node">
<g id="Node000018" class="node">
<title>Node18</title>
<g id="a_node18"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9" target="_top" xlink:title="Do the actual right rotate operation.">
<g id="a_Node000018"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9" target="_top" xlink:title="Do the actual right rotate operation.">
<polygon fill="white" stroke="#666666" points="695.88,-89.5 559.12,-89.5 559.12,-59 695.88,-59 695.88,-89.5"/>
<text text-anchor="start" x="567.12" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-64.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::RightRotate</text>
@@ -187,15 +208,18 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node2&#45;&gt;Node18 -->
<g id="edge18" class="edge">
<g id="edge18_Node000002_Node000018" class="edge">
<title>Node2&#45;&gt;Node18</title>
<g id="a_edge18_Node000002_Node000018"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M249.82,-171.83C267.84,-146.45 307.77,-96.73 356,-77.25 417.03,-52.6 492.32,-54.04 547.95,-60.39"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="547.46,-63.98 557.81,-61.72 548.31,-57.03 547.46,-63.98"/>
</a>
</g>
</g>
<!-- Node19 -->
<g id="node19" class="node">
<g id="Node000019" class="node">
<title>Node19</title>
<g id="a_node19"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9" target="_top" xlink:title="A handy function to try if we can do a left rotate to the target node.">
<g id="a_Node000019"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9" target="_top" xlink:title="A handy function to try if we can do a left rotate to the target node.">
<polygon fill="white" stroke="#666666" points="507,-202.5 362.75,-202.5 362.75,-172 507,-172 507,-202.5"/>
<text text-anchor="start" x="370.75" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="434.88" y="-177.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::TryLeftRotate</text>
@@ -203,15 +227,18 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node2&#45;&gt;Node19 -->
<g id="edge19" class="edge">
<g id="edge19_Node000002_Node000019" class="edge">
<title>Node2&#45;&gt;Node19</title>
<g id="a_edge19_Node000002_Node000019"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M320.24,-187.25C330.62,-187.25 341.25,-187.25 351.65,-187.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="351.37,-190.75 361.37,-187.25 351.37,-183.75 351.37,-190.75"/>
</a>
</g>
</g>
<!-- Node20 -->
<g id="node20" class="node">
<g id="Node000020" class="node">
<title>Node20</title>
<g id="a_node20"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3" target="_top" xlink:title="A handy function to try if we can do a right rotate to the target node.">
<g id="a_Node000020"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3" target="_top" xlink:title="A handy function to try if we can do a right rotate to the target node.">
<polygon fill="white" stroke="#666666" points="510.38,-116.5 359.38,-116.5 359.38,-86 510.38,-86 510.38,-116.5"/>
<text text-anchor="start" x="367.38" y="-103" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="434.88" y="-91.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::TryRightRotate</text>
@@ -219,15 +246,18 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node2&#45;&gt;Node20 -->
<g id="edge22" class="edge">
<g id="edge22_Node000002_Node000020" class="edge">
<title>Node2&#45;&gt;Node20</title>
<g id="a_edge22_Node000002_Node000020"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M269.29,-171.66C292.61,-159.71 326,-143.14 356,-130.25 363.47,-127.04 371.42,-123.84 379.28,-120.8"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="380.41,-123.74 388.51,-116.91 377.92,-117.19 380.41,-123.74"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57" target="_top" xlink:title="Get max item (rightmost) in the current node.">
<g id="a_Node000004"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57" target="_top" xlink:title="Get max item (rightmost) in the current node.">
<polygon fill="white" stroke="#666666" points="690.62,-637.5 564.38,-637.5 564.38,-607 690.62,-607 690.62,-637.5"/>
<text text-anchor="start" x="572.38" y="-624" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-612.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetMaxItem</text>
@@ -235,15 +265,18 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000003_Node000004" class="edge">
<title>Node3&#45;&gt;Node4</title>
<g id="a_edge3_Node000003_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M496.98,-588.96C515.45,-593.7 535.89,-598.96 554.98,-603.86"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="553.86,-607.45 564.42,-606.55 555.6,-600.67 553.86,-607.45"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94" target="_top" xlink:title="Get rightmose child of the current node.">
<g id="a_Node000005"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94" target="_top" xlink:title="Get rightmose child of the current node.">
<polygon fill="white" stroke="#666666" points="705.25,-588.5 549.75,-588.5 549.75,-558 705.25,-558 705.25,-588.5"/>
<text text-anchor="start" x="557.75" y="-575" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-563.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetRightmostChild</text>
@@ -251,15 +284,18 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node3&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000003_Node000005" class="edge">
<title>Node3&#45;&gt;Node5</title>
<g id="a_edge4_Node000003_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M514.23,-573.25C522.21,-573.25 530.35,-573.25 538.43,-573.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="538.37,-576.75 548.37,-573.25 538.37,-569.75 538.37,-576.75"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e" target="_top" xlink:title="Get leftmose child of the current node.">
<g id="a_Node000007"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e" target="_top" xlink:title="Get leftmose child of the current node.">
<polygon fill="white" stroke="#666666" points="701.88,-539.5 553.12,-539.5 553.12,-509 701.88,-509 701.88,-539.5"/>
<text text-anchor="start" x="561.12" y="-526" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-514.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetLeftmostChild</text>
@@ -267,15 +303,18 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node6&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<g id="edge6_Node000006_Node000007" class="edge">
<title>Node6&#45;&gt;Node7</title>
<g id="a_edge6_Node000006_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M496.98,-490.96C515.45,-495.7 535.89,-500.96 554.98,-505.86"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="553.86,-509.45 564.42,-508.55 555.6,-502.67 553.86,-509.45"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71" target="_top" xlink:title="get min item (leftmost) in the current node">
<g id="a_Node000008"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71" target="_top" xlink:title="get min item (leftmost) in the current node">
<polygon fill="white" stroke="#666666" points="689.12,-490.5 565.88,-490.5 565.88,-460 689.12,-460 689.12,-490.5"/>
<text text-anchor="start" x="573.88" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-465.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetMinItem</text>
@@ -283,21 +322,27 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node6&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<g id="edge7_Node000006_Node000008" class="edge">
<title>Node6&#45;&gt;Node8</title>
<g id="a_edge7_Node000006_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M512.59,-475.25C526.46,-475.25 540.89,-475.25 554.62,-475.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="554.46,-478.75 564.46,-475.25 554.46,-471.75 554.46,-478.75"/>
</a>
</g>
</g>
<!-- Node12&#45;&gt;Node9 -->
<g id="edge14" class="edge">
<g id="edge14_Node000012_Node000009" class="edge">
<title>Node12&#45;&gt;Node9</title>
<g id="a_edge14_Node000012_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M478.73,-263.57C490.59,-258.3 503.11,-251.8 513.75,-244.25 532.72,-230.78 530.08,-218.68 549.75,-206.25 553.79,-203.7 558.12,-201.38 562.58,-199.28"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="563.7,-202.18 571.52,-195.03 560.95,-195.75 563.7,-202.18"/>
</a>
</g>
</g>
<!-- Node13 -->
<g id="node13" class="node">
<g id="Node000013" class="node">
<title>Node13</title>
<g id="a_node13"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<g id="a_Node000013"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<polygon fill="white" stroke="#666666" points="682.75,-392.5 572.25,-392.5 572.25,-362 682.75,-362 682.75,-392.5"/>
<text text-anchor="start" x="580.25" y="-379" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-367.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetChild</text>
@@ -305,15 +350,18 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node12&#45;&gt;Node13 -->
<g id="edge12" class="edge">
<g id="edge12_Node000012_Node000013" class="edge">
<title>Node12&#45;&gt;Node13</title>
<g id="a_edge12_Node000012_Node000013"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M456.75,-294.96C478.9,-311.05 515.37,-335.96 549.75,-352.25 553.81,-354.17 558.06,-356.01 562.38,-357.74"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="560.97,-361.33 571.56,-361.62 563.45,-354.79 560.97,-361.33"/>
</a>
</g>
</g>
<!-- Node14 -->
<g id="node14" class="node">
<g id="Node000014" class="node">
<title>Node14</title>
<g id="a_node14"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<g id="a_Node000014"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<polygon fill="white" stroke="#666666" points="681.25,-343.5 573.75,-343.5 573.75,-313 681.25,-313 681.25,-343.5"/>
<text text-anchor="start" x="581.75" y="-330" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-318.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetItem</text>
@@ -321,15 +369,18 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node12&#45;&gt;Node14 -->
<g id="edge13" class="edge">
<g id="edge13_Node000012_Node000014" class="edge">
<title>Node12&#45;&gt;Node14</title>
<g id="a_edge13_Node000012_Node000014"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M490.76,-293.36C513.27,-299.14 539.47,-305.88 562.82,-311.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="561.76,-315.48 572.32,-314.58 563.51,-308.7 561.76,-315.48"/>
</a>
</g>
</g>
<!-- Node15 -->
<g id="node15" class="node">
<g id="Node000015" class="node">
<title>Node15</title>
<g id="a_node15"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<g id="a_Node000015"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="682.38,-294.5 572.62,-294.5 572.62,-264 682.38,-264 682.38,-294.5"/>
<text text-anchor="start" x="580.62" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-269.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
@@ -337,15 +388,18 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node12&#45;&gt;Node15 -->
<g id="edge15" class="edge">
<g id="edge15_Node000012_Node000015" class="edge">
<title>Node12&#45;&gt;Node15</title>
<g id="a_edge15_Node000012_Node000015"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M490.76,-279.25C512.88,-279.25 538.57,-279.25 561.61,-279.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="561.34,-282.75 571.34,-279.25 561.34,-275.75 561.34,-282.75"/>
</a>
</g>
</g>
<!-- Node16 -->
<g id="node16" class="node">
<g id="Node000016" class="node">
<title>Node16</title>
<g id="a_node16"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1" target="_top" xlink:title="Set the item count of the node.">
<g id="a_Node000016"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1" target="_top" xlink:title="Set the item count of the node.">
<polygon fill="white" stroke="#666666" points="684.25,-245.5 570.75,-245.5 570.75,-215 684.25,-215 684.25,-245.5"/>
<text text-anchor="start" x="578.75" y="-232" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-220.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetCount</text>
@@ -353,15 +407,18 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node12&#45;&gt;Node16 -->
<g id="edge16" class="edge">
<g id="edge16_Node000012_Node000016" class="edge">
<title>Node12&#45;&gt;Node16</title>
<g id="a_edge16_Node000012_Node000016"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M490.76,-265.14C512.31,-259.6 537.25,-253.19 559.83,-247.39"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="560.54,-250.56 569.35,-244.68 558.8,-243.78 560.54,-250.56"/>
</a>
</g>
</g>
<!-- Node17 -->
<g id="node17" class="node">
<g id="Node000017" class="node">
<title>Node17</title>
<g id="a_node17"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc" target="_top" xlink:title="Set item value at position of index.">
<g id="a_Node000017"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc" target="_top" xlink:title="Set item value at position of index.">
<polygon fill="white" stroke="#666666" points="680.88,-441.5 574.12,-441.5 574.12,-411 680.88,-411 680.88,-441.5"/>
<text text-anchor="start" x="582.12" y="-428" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-416.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetItem</text>
@@ -369,76 +426,85 @@ var sectionId = 'dynsection-12';
</g>
</g>
<!-- Node12&#45;&gt;Node17 -->
<g id="edge17" class="edge">
<g id="edge17_Node000012_Node000017" class="edge">
<title>Node12&#45;&gt;Node17</title>
<g id="a_edge17_Node000012_Node000017"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M446.28,-294.72C464.36,-320.46 504.06,-372.13 549.75,-401.25 554.1,-404.02 558.79,-406.51 563.62,-408.75"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="562.12,-412.34 572.7,-412.98 564.84,-405.88 562.12,-412.34"/>
</a>
</g>
</g>
<!-- Node19&#45;&gt;Node9 -->
<g id="edge20" class="edge">
<g id="edge20_Node000019_Node000009" class="edge">
<title>Node19&#45;&gt;Node9</title>
<g id="a_edge20_Node000019_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M507.4,-185C525.33,-184.43 544.47,-183.83 562.04,-183.28"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="561.86,-186.75 571.75,-182.94 561.64,-179.76 561.86,-186.75"/>
</a>
</g>
</g>
<!-- Node19&#45;&gt;Node11 -->
<g id="edge21" class="edge">
<g id="edge21_Node000019_Node000011" class="edge">
<title>Node19&#45;&gt;Node11</title>
<g id="a_edge21_Node000019_Node000011"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M490.25,-171.56C512.48,-165.15 538.39,-157.67 561.6,-150.97"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="562.42,-154.09 571.06,-147.96 560.48,-147.37 562.42,-154.09"/>
</a>
</g>
</g>
<!-- Node20&#45;&gt;Node9 -->
<g id="edge23" class="edge">
<g id="edge23_Node000020_Node000009" class="edge">
<title>Node20&#45;&gt;Node9</title>
<g id="a_edge23_Node000020_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M465.35,-116.85C488.05,-128.52 520.42,-144.45 549.75,-156.25 554.66,-158.23 559.8,-160.16 564.98,-162.03"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="563.37,-165.52 573.96,-165.52 565.68,-158.92 563.37,-165.52"/>
</a>
</g>
</g>
<!-- Node20&#45;&gt;Node18 -->
<g id="edge24" class="edge">
<g id="edge24_Node000020_Node000018" class="edge">
<title>Node20&#45;&gt;Node18</title>
<g id="a_edge24_Node000020_Node000018"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M510.67,-90.66C522.93,-88.92 535.67,-87.12 548.02,-85.37"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="548.34,-88.71 557.75,-83.85 547.36,-81.78 548.34,-88.71"/>
</a>
</g>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<use id="arrowup" xlink:href="#arrowUp" x="0" y="0" onmousedown="handlePan(0,-1)"/>
<use id="arrowright" xlink:href="#arrowRight" x="0" y="0" onmousedown="handlePan(1,0)"/>
<use id="arrowdown" xlink:href="#arrowDown" x="0" y="0" onmousedown="handlePan(0,1)"/>
<use id="arrowleft" xlink:href="#arrowLeft" x="0" y="0" onmousedown="handlePan(-1,0)"/>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -9,9 +9,9 @@
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 641.5)">
<title>data_structures::tree_234::Tree234::Remove</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Remove item from tree.">
<g id="a_Node000001"><a xlink:title="Remove item from tree.">
<polygon fill="#999999" stroke="#666666" points="121,-202.5 0,-202.5 0,-172 121,-172 121,-202.5"/>
<text text-anchor="start" x="8" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="60.5" y="-177.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Remove</text>
@@ -19,9 +19,9 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a61dd051a74e5f36c8dc03dae8dca6ef4" target="_top" xlink:title="Main function implement the pre&#45;merge remove operation.">
<g id="a_Node000002"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a61dd051a74e5f36c8dc03dae8dca6ef4" target="_top" xlink:title="Main function implement the pre&#45;merge remove operation.">
<polygon fill="white" stroke="#666666" points="320,-202.5 157,-202.5 157,-172 320,-172 320,-202.5"/>
<text text-anchor="start" x="165" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="238.5" y="-177.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::RemovePreMerge</text>
@@ -29,15 +29,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M121.09,-187.25C129.15,-187.25 137.57,-187.25 146.03,-187.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="145.75,-190.75 155.75,-187.25 145.75,-183.75 145.75,-190.75"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657" target="_top" xlink:title="Get the max item of the tree.">
<g id="a_Node000003"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657" target="_top" xlink:title="Get the max item of the tree.">
<polygon fill="white" stroke="#666666" points="513.75,-588.5 356,-588.5 356,-558 513.75,-558 513.75,-588.5"/>
<text text-anchor="start" x="364" y="-575" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="434.88" y="-563.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::GetTreeMaxItem</text>
@@ -45,15 +48,18 @@
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M242.65,-202.67C252.87,-250.13 288.4,-397 356,-499.25 369.14,-519.12 388.55,-537.59 404.71,-551.1"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="401.85,-554.1 411.81,-557.7 406.27,-548.67 401.85,-554.1"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36" target="_top" xlink:title="Get the min item of the tree.">
<g id="a_Node000006"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36" target="_top" xlink:title="Get the min item of the tree.">
<polygon fill="white" stroke="#666666" points="512.25,-490.5 357.5,-490.5 357.5,-460 512.25,-460 512.25,-490.5"/>
<text text-anchor="start" x="365.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="434.88" y="-465.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::GetTreeMinItem</text>
@@ -61,15 +67,18 @@
</g>
</g>
<!-- Node2&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge5_Node000002_Node000006" class="edge">
<title>Node2&#45;&gt;Node6</title>
<g id="a_edge5_Node000002_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M249.95,-202.73C281.92,-250.1 378.59,-393.33 417.44,-450.9"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="414.88,-452.36 423.37,-458.69 420.68,-448.44 414.88,-452.36"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" target="_top" xlink:title="Check if node is a 2&#45;node.">
<g id="a_Node000009"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" target="_top" xlink:title="Check if node is a 2&#45;node.">
<polygon fill="white" stroke="#666666" points="682,-196.5 573,-196.5 573,-166 682,-166 682,-196.5"/>
<text text-anchor="start" x="581" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-171.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Is2Node</text>
@@ -77,15 +86,18 @@
</g>
</g>
<!-- Node2&#45;&gt;Node9 -->
<g id="edge8" class="edge">
<g id="edge8_Node000002_Node000009" class="edge">
<title>Node2&#45;&gt;Node9</title>
<g id="a_edge8_Node000002_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M304.15,-203C320.93,-206.42 339.05,-209.52 356,-211.25 425.75,-218.36 444.23,-220.34 513.75,-211.25 531.63,-208.91 550.71,-204.57 567.99,-199.91"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="568.8,-203.03 577.49,-196.97 566.92,-196.29 568.8,-203.03"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18" target="_top" xlink:title="Check if node is a 3&#45;node or 4&#45;node, this is useful when we delete item from 2&#45;3&#45;4 tree.">
<g id="a_Node000010"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18" target="_top" xlink:title="Check if node is a 3&#45;node or 4&#45;node, this is useful when we delete item from 2&#45;3&#45;4 tree.">
<polygon fill="white" stroke="#666666" points="492,-30.5 377.75,-30.5 377.75,0 492,0 492,-30.5"/>
<text text-anchor="start" x="385.75" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="434.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Is34Node</text>
@@ -93,15 +105,18 @@
</g>
</g>
<!-- Node2&#45;&gt;Node10 -->
<g id="edge9" class="edge">
<g id="edge9_Node000002_Node000010" class="edge">
<title>Node2&#45;&gt;Node10</title>
<g id="a_edge9_Node000002_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M248.33,-171.62C265.48,-142.59 306.03,-80.06 356,-44.25 360.43,-41.07 365.25,-38.21 370.25,-35.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="371.48,-38.44 379.02,-30.99 368.48,-32.11 371.48,-38.44"/>
</a>
</g>
</g>
<!-- Node11 -->
<g id="node11" class="node">
<g id="Node000011" class="node">
<title>Node11</title>
<g id="a_node11"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e" target="_top" xlink:title="Do the actual left rotate operation.">
<g id="a_Node000011"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e" target="_top" xlink:title="Do the actual left rotate operation.">
<polygon fill="white" stroke="#666666" points="692.5,-147.5 562.5,-147.5 562.5,-117 692.5,-117 692.5,-147.5"/>
<text text-anchor="start" x="570.5" y="-134" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-122.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::LeftRotate</text>
@@ -109,15 +124,18 @@
</g>
</g>
<!-- Node2&#45;&gt;Node11 -->
<g id="edge10" class="edge">
<g id="edge10_Node000002_Node000011" class="edge">
<title>Node2&#45;&gt;Node11</title>
<g id="a_edge10_Node000002_Node000011"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M310.78,-171.52C325.68,-168.52 341.32,-165.6 356,-163.25 421.61,-152.75 496.72,-144.44 551.12,-139.07"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="551.45,-142.46 561.06,-138.01 550.77,-135.49 551.45,-142.46"/>
</a>
</g>
</g>
<!-- Node12 -->
<g id="node12" class="node">
<g id="Node000012" class="node">
<title>Node12</title>
<g id="a_node12"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9" target="_top" xlink:title="Merge the item at index of the parent node, and its left and right child.">
<g id="a_Node000012"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9" target="_top" xlink:title="Merge the item at index of the parent node, and its left and right child.">
<polygon fill="white" stroke="#666666" points="490.5,-294.5 379.25,-294.5 379.25,-264 490.5,-264 490.5,-294.5"/>
<text text-anchor="start" x="387.25" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="434.88" y="-269.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Merge</text>
@@ -125,15 +143,18 @@
</g>
</g>
<!-- Node2&#45;&gt;Node12 -->
<g id="edge11" class="edge">
<g id="edge11_Node000002_Node000012" class="edge">
<title>Node2&#45;&gt;Node12</title>
<g id="a_edge11_Node000002_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M270.52,-202.77C293.92,-214.39 326.85,-230.57 356,-244.25 366.47,-249.16 377.8,-254.34 388.49,-259.15"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="386.93,-262.74 397.49,-263.64 389.8,-256.35 386.93,-262.74"/>
</a>
</g>
</g>
<!-- Node18 -->
<g id="node18" class="node">
<g id="Node000018" class="node">
<title>Node18</title>
<g id="a_node18"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9" target="_top" xlink:title="Do the actual right rotate operation.">
<g id="a_Node000018"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9" target="_top" xlink:title="Do the actual right rotate operation.">
<polygon fill="white" stroke="#666666" points="695.88,-89.5 559.12,-89.5 559.12,-59 695.88,-59 695.88,-89.5"/>
<text text-anchor="start" x="567.12" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-64.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::RightRotate</text>
@@ -141,15 +162,18 @@
</g>
</g>
<!-- Node2&#45;&gt;Node18 -->
<g id="edge18" class="edge">
<g id="edge18_Node000002_Node000018" class="edge">
<title>Node2&#45;&gt;Node18</title>
<g id="a_edge18_Node000002_Node000018"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M249.82,-171.83C267.84,-146.45 307.77,-96.73 356,-77.25 417.03,-52.6 492.32,-54.04 547.95,-60.39"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="547.46,-63.98 557.81,-61.72 548.31,-57.03 547.46,-63.98"/>
</a>
</g>
</g>
<!-- Node19 -->
<g id="node19" class="node">
<g id="Node000019" class="node">
<title>Node19</title>
<g id="a_node19"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9" target="_top" xlink:title="A handy function to try if we can do a left rotate to the target node.">
<g id="a_Node000019"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9" target="_top" xlink:title="A handy function to try if we can do a left rotate to the target node.">
<polygon fill="white" stroke="#666666" points="507,-202.5 362.75,-202.5 362.75,-172 507,-172 507,-202.5"/>
<text text-anchor="start" x="370.75" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="434.88" y="-177.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::TryLeftRotate</text>
@@ -157,15 +181,18 @@
</g>
</g>
<!-- Node2&#45;&gt;Node19 -->
<g id="edge19" class="edge">
<g id="edge19_Node000002_Node000019" class="edge">
<title>Node2&#45;&gt;Node19</title>
<g id="a_edge19_Node000002_Node000019"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M320.24,-187.25C330.62,-187.25 341.25,-187.25 351.65,-187.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="351.37,-190.75 361.37,-187.25 351.37,-183.75 351.37,-190.75"/>
</a>
</g>
</g>
<!-- Node20 -->
<g id="node20" class="node">
<g id="Node000020" class="node">
<title>Node20</title>
<g id="a_node20"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3" target="_top" xlink:title="A handy function to try if we can do a right rotate to the target node.">
<g id="a_Node000020"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3" target="_top" xlink:title="A handy function to try if we can do a right rotate to the target node.">
<polygon fill="white" stroke="#666666" points="510.38,-116.5 359.38,-116.5 359.38,-86 510.38,-86 510.38,-116.5"/>
<text text-anchor="start" x="367.38" y="-103" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="434.88" y="-91.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::TryRightRotate</text>
@@ -173,15 +200,18 @@
</g>
</g>
<!-- Node2&#45;&gt;Node20 -->
<g id="edge22" class="edge">
<g id="edge22_Node000002_Node000020" class="edge">
<title>Node2&#45;&gt;Node20</title>
<g id="a_edge22_Node000002_Node000020"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M269.29,-171.66C292.61,-159.71 326,-143.14 356,-130.25 363.47,-127.04 371.42,-123.84 379.28,-120.8"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="380.41,-123.74 388.51,-116.91 377.92,-117.19 380.41,-123.74"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57" target="_top" xlink:title="Get max item (rightmost) in the current node.">
<g id="a_Node000004"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57" target="_top" xlink:title="Get max item (rightmost) in the current node.">
<polygon fill="white" stroke="#666666" points="690.62,-637.5 564.38,-637.5 564.38,-607 690.62,-607 690.62,-637.5"/>
<text text-anchor="start" x="572.38" y="-624" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-612.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetMaxItem</text>
@@ -189,15 +219,18 @@
</g>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000003_Node000004" class="edge">
<title>Node3&#45;&gt;Node4</title>
<g id="a_edge3_Node000003_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M496.98,-588.96C515.45,-593.7 535.89,-598.96 554.98,-603.86"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="553.86,-607.45 564.42,-606.55 555.6,-600.67 553.86,-607.45"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94" target="_top" xlink:title="Get rightmose child of the current node.">
<g id="a_Node000005"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94" target="_top" xlink:title="Get rightmose child of the current node.">
<polygon fill="white" stroke="#666666" points="705.25,-588.5 549.75,-588.5 549.75,-558 705.25,-558 705.25,-588.5"/>
<text text-anchor="start" x="557.75" y="-575" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-563.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetRightmostChild</text>
@@ -205,15 +238,18 @@
</g>
</g>
<!-- Node3&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000003_Node000005" class="edge">
<title>Node3&#45;&gt;Node5</title>
<g id="a_edge4_Node000003_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M514.23,-573.25C522.21,-573.25 530.35,-573.25 538.43,-573.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="538.37,-576.75 548.37,-573.25 538.37,-569.75 538.37,-576.75"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e" target="_top" xlink:title="Get leftmose child of the current node.">
<g id="a_Node000007"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e" target="_top" xlink:title="Get leftmose child of the current node.">
<polygon fill="white" stroke="#666666" points="701.88,-539.5 553.12,-539.5 553.12,-509 701.88,-509 701.88,-539.5"/>
<text text-anchor="start" x="561.12" y="-526" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-514.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetLeftmostChild</text>
@@ -221,15 +257,18 @@
</g>
</g>
<!-- Node6&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<g id="edge6_Node000006_Node000007" class="edge">
<title>Node6&#45;&gt;Node7</title>
<g id="a_edge6_Node000006_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M496.98,-490.96C515.45,-495.7 535.89,-500.96 554.98,-505.86"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="553.86,-509.45 564.42,-508.55 555.6,-502.67 553.86,-509.45"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71" target="_top" xlink:title="get min item (leftmost) in the current node">
<g id="a_Node000008"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71" target="_top" xlink:title="get min item (leftmost) in the current node">
<polygon fill="white" stroke="#666666" points="689.12,-490.5 565.88,-490.5 565.88,-460 689.12,-460 689.12,-490.5"/>
<text text-anchor="start" x="573.88" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-465.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetMinItem</text>
@@ -237,21 +276,27 @@
</g>
</g>
<!-- Node6&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<g id="edge7_Node000006_Node000008" class="edge">
<title>Node6&#45;&gt;Node8</title>
<g id="a_edge7_Node000006_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M512.59,-475.25C526.46,-475.25 540.89,-475.25 554.62,-475.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="554.46,-478.75 564.46,-475.25 554.46,-471.75 554.46,-478.75"/>
</a>
</g>
</g>
<!-- Node12&#45;&gt;Node9 -->
<g id="edge14" class="edge">
<g id="edge14_Node000012_Node000009" class="edge">
<title>Node12&#45;&gt;Node9</title>
<g id="a_edge14_Node000012_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M478.73,-263.57C490.59,-258.3 503.11,-251.8 513.75,-244.25 532.72,-230.78 530.08,-218.68 549.75,-206.25 553.79,-203.7 558.12,-201.38 562.58,-199.28"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="563.7,-202.18 571.52,-195.03 560.95,-195.75 563.7,-202.18"/>
</a>
</g>
</g>
<!-- Node13 -->
<g id="node13" class="node">
<g id="Node000013" class="node">
<title>Node13</title>
<g id="a_node13"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<g id="a_Node000013"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<polygon fill="white" stroke="#666666" points="682.75,-392.5 572.25,-392.5 572.25,-362 682.75,-362 682.75,-392.5"/>
<text text-anchor="start" x="580.25" y="-379" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-367.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetChild</text>
@@ -259,15 +304,18 @@
</g>
</g>
<!-- Node12&#45;&gt;Node13 -->
<g id="edge12" class="edge">
<g id="edge12_Node000012_Node000013" class="edge">
<title>Node12&#45;&gt;Node13</title>
<g id="a_edge12_Node000012_Node000013"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M456.75,-294.96C478.9,-311.05 515.37,-335.96 549.75,-352.25 553.81,-354.17 558.06,-356.01 562.38,-357.74"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="560.97,-361.33 571.56,-361.62 563.45,-354.79 560.97,-361.33"/>
</a>
</g>
</g>
<!-- Node14 -->
<g id="node14" class="node">
<g id="Node000014" class="node">
<title>Node14</title>
<g id="a_node14"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<g id="a_Node000014"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<polygon fill="white" stroke="#666666" points="681.25,-343.5 573.75,-343.5 573.75,-313 681.25,-313 681.25,-343.5"/>
<text text-anchor="start" x="581.75" y="-330" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-318.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetItem</text>
@@ -275,15 +323,18 @@
</g>
</g>
<!-- Node12&#45;&gt;Node14 -->
<g id="edge13" class="edge">
<g id="edge13_Node000012_Node000014" class="edge">
<title>Node12&#45;&gt;Node14</title>
<g id="a_edge13_Node000012_Node000014"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M490.76,-293.36C513.27,-299.14 539.47,-305.88 562.82,-311.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="561.76,-315.48 572.32,-314.58 563.51,-308.7 561.76,-315.48"/>
</a>
</g>
</g>
<!-- Node15 -->
<g id="node15" class="node">
<g id="Node000015" class="node">
<title>Node15</title>
<g id="a_node15"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<g id="a_Node000015"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="682.38,-294.5 572.62,-294.5 572.62,-264 682.38,-264 682.38,-294.5"/>
<text text-anchor="start" x="580.62" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-269.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
@@ -291,15 +342,18 @@
</g>
</g>
<!-- Node12&#45;&gt;Node15 -->
<g id="edge15" class="edge">
<g id="edge15_Node000012_Node000015" class="edge">
<title>Node12&#45;&gt;Node15</title>
<g id="a_edge15_Node000012_Node000015"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M490.76,-279.25C512.88,-279.25 538.57,-279.25 561.61,-279.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="561.34,-282.75 571.34,-279.25 561.34,-275.75 561.34,-282.75"/>
</a>
</g>
</g>
<!-- Node16 -->
<g id="node16" class="node">
<g id="Node000016" class="node">
<title>Node16</title>
<g id="a_node16"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1" target="_top" xlink:title="Set the item count of the node.">
<g id="a_Node000016"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1" target="_top" xlink:title="Set the item count of the node.">
<polygon fill="white" stroke="#666666" points="684.25,-245.5 570.75,-245.5 570.75,-215 684.25,-215 684.25,-245.5"/>
<text text-anchor="start" x="578.75" y="-232" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-220.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetCount</text>
@@ -307,15 +361,18 @@
</g>
</g>
<!-- Node12&#45;&gt;Node16 -->
<g id="edge16" class="edge">
<g id="edge16_Node000012_Node000016" class="edge">
<title>Node12&#45;&gt;Node16</title>
<g id="a_edge16_Node000012_Node000016"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M490.76,-265.14C512.31,-259.6 537.25,-253.19 559.83,-247.39"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="560.54,-250.56 569.35,-244.68 558.8,-243.78 560.54,-250.56"/>
</a>
</g>
</g>
<!-- Node17 -->
<g id="node17" class="node">
<g id="Node000017" class="node">
<title>Node17</title>
<g id="a_node17"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc" target="_top" xlink:title="Set item value at position of index.">
<g id="a_Node000017"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc" target="_top" xlink:title="Set item value at position of index.">
<polygon fill="white" stroke="#666666" points="680.88,-441.5 574.12,-441.5 574.12,-411 680.88,-411 680.88,-441.5"/>
<text text-anchor="start" x="582.12" y="-428" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="627.5" y="-416.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetItem</text>
@@ -323,34 +380,49 @@
</g>
</g>
<!-- Node12&#45;&gt;Node17 -->
<g id="edge17" class="edge">
<g id="edge17_Node000012_Node000017" class="edge">
<title>Node12&#45;&gt;Node17</title>
<g id="a_edge17_Node000012_Node000017"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M446.28,-294.72C464.36,-320.46 504.06,-372.13 549.75,-401.25 554.1,-404.02 558.79,-406.51 563.62,-408.75"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="562.12,-412.34 572.7,-412.98 564.84,-405.88 562.12,-412.34"/>
</a>
</g>
</g>
<!-- Node19&#45;&gt;Node9 -->
<g id="edge20" class="edge">
<g id="edge20_Node000019_Node000009" class="edge">
<title>Node19&#45;&gt;Node9</title>
<g id="a_edge20_Node000019_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M507.4,-185C525.33,-184.43 544.47,-183.83 562.04,-183.28"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="561.86,-186.75 571.75,-182.94 561.64,-179.76 561.86,-186.75"/>
</a>
</g>
</g>
<!-- Node19&#45;&gt;Node11 -->
<g id="edge21" class="edge">
<g id="edge21_Node000019_Node000011" class="edge">
<title>Node19&#45;&gt;Node11</title>
<g id="a_edge21_Node000019_Node000011"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M490.25,-171.56C512.48,-165.15 538.39,-157.67 561.6,-150.97"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="562.42,-154.09 571.06,-147.96 560.48,-147.37 562.42,-154.09"/>
</a>
</g>
</g>
<!-- Node20&#45;&gt;Node9 -->
<g id="edge23" class="edge">
<g id="edge23_Node000020_Node000009" class="edge">
<title>Node20&#45;&gt;Node9</title>
<g id="a_edge23_Node000020_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M465.35,-116.85C488.05,-128.52 520.42,-144.45 549.75,-156.25 554.66,-158.23 559.8,-160.16 564.98,-162.03"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="563.37,-165.52 573.96,-165.52 565.68,-158.92 563.37,-165.52"/>
</a>
</g>
</g>
<!-- Node20&#45;&gt;Node18 -->
<g id="edge24" class="edge">
<g id="edge24_Node000020_Node000018" class="edge">
<title>Node20&#45;&gt;Node18</title>
<g id="a_edge24_Node000020_Node000018"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M510.67,-90.66C522.93,-88.92 535.67,-87.12 548.02,-85.37"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="548.34,-88.71 557.75,-83.85 547.36,-81.78 548.34,-88.71"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -1,21 +1,44 @@
<map id="data_structures::tree_234::Tree234::RemovePreMerge" name="data_structures::tree_234::Tree234::RemovePreMerge">
<area shape="rect" id="node1" title="Main function implement the pre&#45;merge remove operation." alt="" coords="5,585,223,626"/>
<area shape="rect" id="node2" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657" title="Get the max item of the tree." alt="" coords="271,71,481,111"/>
<area shape="rect" id="node5" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36" title="Get the min item of the tree." alt="" coords="273,201,479,242"/>
<area shape="rect" id="node8" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" title="Check if node is a 2&#45;node." alt="" coords="560,593,705,634"/>
<area shape="rect" id="node9" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18" title="Check if node is a 3&#45;node or 4&#45;node, this is useful when we delete item from 2&#45;3&#45;4 tree." alt="" coords="300,815,452,855"/>
<area shape="rect" id="node10" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e" title="Do the actual left rotate operation." alt="" coords="546,659,719,699"/>
<area shape="rect" id="node11" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9" title="Merge the item at index of the parent node, and its left and right child." alt="" coords="302,463,450,503"/>
<area shape="rect" id="node17" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9" title="Do the actual right rotate operation." alt="" coords="542,736,724,777"/>
<area shape="rect" id="node18" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9" title="A handy function to try if we can do a left rotate to the target node." alt="" coords="280,585,472,626"/>
<area shape="rect" id="node19" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3" title="A handy function to try if we can do a right rotate to the target node." alt="" coords="275,700,477,741"/>
<area shape="rect" id="node3" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57" title="Get max item (rightmost) in the current node." alt="" coords="549,5,717,46"/>
<area shape="rect" id="node4" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94" title="Get rightmose child of the current node." alt="" coords="529,71,736,111"/>
<area shape="rect" id="node6" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e" title="Get leftmose child of the current node." alt="" coords="534,136,732,177"/>
<area shape="rect" id="node7" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71" title="get min item (leftmost) in the current node" alt="" coords="551,201,715,242"/>
<area shape="rect" id="node12" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" title="Get the child pointer at position of index." alt="" coords="559,332,706,373"/>
<area shape="rect" id="node13" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" title="Get item of the \index index." alt="" coords="561,397,704,438"/>
<area shape="rect" id="node14" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="560,463,706,503"/>
<area shape="rect" id="node15" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1" title="Set the item count of the node." alt="" coords="557,528,708,569"/>
<area shape="rect" id="node16" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc" title="Set item value at position of index." alt="" coords="562,267,704,307"/>
<area shape="rect" id="Node000001" title="Main function implement the pre&#45;merge remove operation." alt="" coords="5,585,223,626"/>
<area shape="rect" id="Node000002" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657" title="Get the max item of the tree." alt="" coords="271,71,481,111"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="117,584,134,515,164,414,209,299,237,242,268,188,300,150,334,119,337,122,304,154,273,191,241,244,213,301,169,416,139,516,122,586"/>
<area shape="rect" id="Node000005" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36" title="Get the min item of the tree." alt="" coords="273,201,479,242"/>
<area shape="poly" id="edge4_Node000001_Node000005" title=" " alt="" coords="127,584,350,253,355,256,131,587"/>
<area shape="rect" id="Node000008" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" title="Check if node is a 2&#45;node." alt="" coords="560,593,705,634"/>
<area shape="poly" id="edge7_Node000001_Node000008" title=" " alt="" coords="201,582,270,571,376,563,481,571,554,586,553,591,481,576,376,568,271,576,202,587"/>
<area shape="rect" id="Node000009" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18" title="Check if node is a 3&#45;node or 4&#45;node, this is useful when we delete item from 2&#45;3&#45;4 tree." alt="" coords="300,815,452,855"/>
<area shape="poly" id="edge8_Node000001_Node000009" title=" " alt="" coords="129,625,185,706,225,753,272,794,291,806,288,810,269,798,221,757,180,710,125,628"/>
<area shape="rect" id="Node000010" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e" title="Do the actual left rotate operation." alt="" coords="546,659,719,699"/>
<area shape="poly" id="edge9_Node000001_Node000010" title=" " alt="" coords="211,624,271,635,407,654,531,667,531,673,406,659,270,640,210,629"/>
<area shape="rect" id="Node000011" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9" title="Merge the item at index of the parent node, and its left and right child." alt="" coords="302,463,450,503"/>
<area shape="poly" id="edge10_Node000001_Node000011" title=" " alt="" coords="156,583,270,527,313,507,315,512,272,532,158,587"/>
<area shape="rect" id="Node000017" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9" title="Do the actual right rotate operation." alt="" coords="542,736,724,777"/>
<area shape="poly" id="edge17_Node000001_Node000017" title=" " alt="" coords="131,625,154,655,187,690,226,724,272,750,335,768,402,776,467,777,526,772,527,777,467,782,401,782,334,774,270,755,223,729,183,694,150,658,127,628"/>
<area shape="rect" id="Node000018" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9" title="A handy function to try if we can do a left rotate to the target node." alt="" coords="280,585,472,626"/>
<area shape="poly" id="edge18_Node000001_Node000018" title=" " alt="" coords="223,603,265,603,265,608,223,608"/>
<area shape="rect" id="Node000019" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3" title="A handy function to try if we can do a right rotate to the target node." alt="" coords="275,700,477,741"/>
<area shape="poly" id="edge21_Node000001_Node000019" title=" " alt="" coords="156,624,272,679,303,692,301,697,270,684,154,629"/>
<area shape="rect" id="Node000003" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57" title="Get max item (rightmost) in the current node." alt="" coords="549,5,717,46"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="458,67,535,48,537,53,459,73"/>
<area shape="rect" id="Node000004" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94" title="Get rightmose child of the current node." alt="" coords="529,71,736,111"/>
<area shape="poly" id="edge3_Node000002_Node000004" title=" " alt="" coords="482,88,514,88,514,94,482,94"/>
<area shape="rect" id="Node000006" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e" title="Get leftmose child of the current node." alt="" coords="534,136,732,177"/>
<area shape="poly" id="edge5_Node000005_Node000006" title=" " alt="" coords="458,198,535,178,537,183,459,203"/>
<area shape="rect" id="Node000007" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71" title="get min item (leftmost) in the current node" alt="" coords="551,201,715,242"/>
<area shape="poly" id="edge6_Node000005_Node000007" title=" " alt="" coords="479,219,535,219,535,224,479,224"/>
<area shape="poly" id="edge13_Node000011_Node000008" title=" " alt="" coords="436,502,483,527,497,541,507,554,516,566,530,578,547,587,545,592,528,583,512,570,503,557,493,545,479,532,433,506"/>
<area shape="rect" id="Node000012" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" title="Get the child pointer at position of index." alt="" coords="559,332,706,373"/>
<area shape="poly" id="edge11_Node000011_Node000012" title=" " alt="" coords="404,460,459,422,528,383,545,376,547,381,530,388,462,426,407,464"/>
<area shape="rect" id="Node000013" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" title="Get item of the \index index." alt="" coords="561,397,704,438"/>
<area shape="poly" id="edge12_Node000011_Node000013" title=" " alt="" coords="450,462,546,437,547,442,451,467"/>
<area shape="rect" id="Node000014" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="560,463,706,503"/>
<area shape="poly" id="edge14_Node000011_Node000014" title=" " alt="" coords="450,480,545,480,545,486,450,486"/>
<area shape="rect" id="Node000015" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1" title="Set the item count of the node." alt="" coords="557,528,708,569"/>
<area shape="poly" id="edge15_Node000011_Node000015" title=" " alt="" coords="451,499,543,523,542,528,450,504"/>
<area shape="rect" id="Node000016" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc" title="Set item value at position of index." alt="" coords="562,267,704,307"/>
<area shape="poly" id="edge16_Node000011_Node000016" title=" " alt="" coords="389,461,444,391,483,352,528,318,546,308,549,313,530,323,487,356,448,395,393,464"/>
<area shape="poly" id="edge19_Node000018_Node000008" title=" " alt="" coords="473,606,545,608,545,614,472,611"/>
<area shape="poly" id="edge20_Node000018_Node000010" title=" " alt="" coords="450,624,546,651,544,657,449,629"/>
<area shape="poly" id="edge22_Node000019_Node000008" title=" " alt="" coords="415,697,528,645,548,637,550,642,530,649,418,702"/>
<area shape="poly" id="edge23_Node000019_Node000017" title=" " alt="" coords="477,732,527,739,526,744,477,737"/>
</map>

View File

@@ -1 +1 @@
0c58552e67db76844916af8a90cd01e5
60a496b3cfead2e226fc1033ca6e026e

View File

@@ -5,59 +5,59 @@
-->
<!-- Title: data_structures::tree_234::Tree234::RemovePreMerge Pages: 1 -->
<!--zoomable 646 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="text/javascript"><![CDATA[
var edges = document.getElementsByTagName('g');
if (edges && edges.length) {
for (var i=0;i<edges.length;i++) {
if (edges[i].id.substr(0,4)=='edge') {
edges[i].setAttribute('class','edge');
}
}
}
]]></script>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/></use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/></use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="arrowUp" transform="translate(30 24)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" transform="rotate(90) translate(36 -43)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" transform="rotate(180) translate(-30 -48)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" transform="rotate(270) translate(-36 17)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040"><set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/></use>
</g>
</defs>
<script type="application/ecmascript">
var viewWidth = 556;
var viewHeight = 646;
var sectionId = 'dynsection-13';
</script>
<script xlink:href="../../svgpan.js"/>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>data_structures::tree_234::Tree234::RemovePreMerge</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Main function implement the pre&#45;merge remove operation.">
<g id="a_Node000001"><a xlink:title="Main function implement the pre&#45;merge remove operation.">
<polygon fill="#999999" stroke="#666666" points="163,-202.5 0,-202.5 0,-172 163,-172 163,-202.5"/>
<text text-anchor="start" x="8" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="81.5" y="-177.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::RemovePreMerge</text>
@@ -65,9 +65,9 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657" target="_top" xlink:title="Get the max item of the tree.">
<g id="a_Node000002"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657" target="_top" xlink:title="Get the max item of the tree.">
<polygon fill="white" stroke="#666666" points="356.75,-588.5 199,-588.5 199,-558 356.75,-558 356.75,-588.5"/>
<text text-anchor="start" x="207" y="-575" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="277.88" y="-563.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::GetTreeMaxItem</text>
@@ -75,15 +75,18 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M85.65,-202.67C95.87,-250.13 131.4,-397 199,-499.25 212.14,-519.12 231.55,-537.59 247.71,-551.1"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="244.85,-554.1 254.81,-557.7 249.27,-548.67 244.85,-554.1"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36" target="_top" xlink:title="Get the min item of the tree.">
<g id="a_Node000005"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36" target="_top" xlink:title="Get the min item of the tree.">
<polygon fill="white" stroke="#666666" points="355.25,-490.5 200.5,-490.5 200.5,-460 355.25,-460 355.25,-490.5"/>
<text text-anchor="start" x="208.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="277.88" y="-465.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::GetTreeMinItem</text>
@@ -91,15 +94,18 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M92.95,-202.73C124.92,-250.1 221.59,-393.33 260.44,-450.9"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="257.88,-452.36 266.37,-458.69 263.68,-448.44 257.88,-452.36"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" target="_top" xlink:title="Check if node is a 2&#45;node.">
<g id="a_Node000008"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" target="_top" xlink:title="Check if node is a 2&#45;node.">
<polygon fill="white" stroke="#666666" points="525,-196.5 416,-196.5 416,-166 525,-166 525,-196.5"/>
<text text-anchor="start" x="424" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-171.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Is2Node</text>
@@ -107,15 +113,18 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node1&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<g id="edge7_Node000001_Node000008" class="edge">
<title>Node1&#45;&gt;Node8</title>
<g id="a_edge7_Node000001_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M147.15,-203C163.93,-206.42 182.05,-209.52 199,-211.25 268.75,-218.36 287.23,-220.34 356.75,-211.25 374.63,-208.91 393.71,-204.57 410.99,-199.91"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="411.8,-203.03 420.49,-196.97 409.92,-196.29 411.8,-203.03"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18" target="_top" xlink:title="Check if node is a 3&#45;node or 4&#45;node, this is useful when we delete item from 2&#45;3&#45;4 tree.">
<g id="a_Node000009"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18" target="_top" xlink:title="Check if node is a 3&#45;node or 4&#45;node, this is useful when we delete item from 2&#45;3&#45;4 tree.">
<polygon fill="white" stroke="#666666" points="335,-30.5 220.75,-30.5 220.75,0 335,0 335,-30.5"/>
<text text-anchor="start" x="228.75" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="277.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Is34Node</text>
@@ -123,15 +132,18 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge8" class="edge">
<g id="edge8_Node000001_Node000009" class="edge">
<title>Node1&#45;&gt;Node9</title>
<g id="a_edge8_Node000001_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M91.33,-171.62C108.48,-142.59 149.03,-80.06 199,-44.25 203.43,-41.07 208.25,-38.21 213.25,-35.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="214.48,-38.44 222.02,-30.99 211.48,-32.11 214.48,-38.44"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e" target="_top" xlink:title="Do the actual left rotate operation.">
<g id="a_Node000010"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e" target="_top" xlink:title="Do the actual left rotate operation.">
<polygon fill="white" stroke="#666666" points="535.5,-147.5 405.5,-147.5 405.5,-117 535.5,-117 535.5,-147.5"/>
<text text-anchor="start" x="413.5" y="-134" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-122.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::LeftRotate</text>
@@ -139,15 +151,18 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node1&#45;&gt;Node10 -->
<g id="edge9" class="edge">
<g id="edge9_Node000001_Node000010" class="edge">
<title>Node1&#45;&gt;Node10</title>
<g id="a_edge9_Node000001_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M153.78,-171.52C168.68,-168.52 184.32,-165.6 199,-163.25 264.61,-152.75 339.72,-144.44 394.12,-139.07"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="394.45,-142.46 404.06,-138.01 393.77,-135.49 394.45,-142.46"/>
</a>
</g>
</g>
<!-- Node11 -->
<g id="node11" class="node">
<g id="Node000011" class="node">
<title>Node11</title>
<g id="a_node11"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9" target="_top" xlink:title="Merge the item at index of the parent node, and its left and right child.">
<g id="a_Node000011"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9" target="_top" xlink:title="Merge the item at index of the parent node, and its left and right child.">
<polygon fill="white" stroke="#666666" points="333.5,-294.5 222.25,-294.5 222.25,-264 333.5,-264 333.5,-294.5"/>
<text text-anchor="start" x="230.25" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="277.88" y="-269.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Merge</text>
@@ -155,15 +170,18 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node1&#45;&gt;Node11 -->
<g id="edge10" class="edge">
<g id="edge10_Node000001_Node000011" class="edge">
<title>Node1&#45;&gt;Node11</title>
<g id="a_edge10_Node000001_Node000011"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M113.52,-202.77C136.92,-214.39 169.85,-230.57 199,-244.25 209.47,-249.16 220.8,-254.34 231.49,-259.15"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="229.93,-262.74 240.49,-263.64 232.8,-256.35 229.93,-262.74"/>
</a>
</g>
</g>
<!-- Node17 -->
<g id="node17" class="node">
<g id="Node000017" class="node">
<title>Node17</title>
<g id="a_node17"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9" target="_top" xlink:title="Do the actual right rotate operation.">
<g id="a_Node000017"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9" target="_top" xlink:title="Do the actual right rotate operation.">
<polygon fill="white" stroke="#666666" points="538.88,-89.5 402.12,-89.5 402.12,-59 538.88,-59 538.88,-89.5"/>
<text text-anchor="start" x="410.12" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-64.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::RightRotate</text>
@@ -171,15 +189,18 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node1&#45;&gt;Node17 -->
<g id="edge17" class="edge">
<g id="edge17_Node000001_Node000017" class="edge">
<title>Node1&#45;&gt;Node17</title>
<g id="a_edge17_Node000001_Node000017"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M92.82,-171.83C110.84,-146.45 150.77,-96.73 199,-77.25 260.03,-52.6 335.32,-54.04 390.95,-60.39"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="390.46,-63.98 400.81,-61.72 391.31,-57.03 390.46,-63.98"/>
</a>
</g>
</g>
<!-- Node18 -->
<g id="node18" class="node">
<g id="Node000018" class="node">
<title>Node18</title>
<g id="a_node18"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9" target="_top" xlink:title="A handy function to try if we can do a left rotate to the target node.">
<g id="a_Node000018"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9" target="_top" xlink:title="A handy function to try if we can do a left rotate to the target node.">
<polygon fill="white" stroke="#666666" points="350,-202.5 205.75,-202.5 205.75,-172 350,-172 350,-202.5"/>
<text text-anchor="start" x="213.75" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="277.88" y="-177.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::TryLeftRotate</text>
@@ -187,15 +208,18 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node1&#45;&gt;Node18 -->
<g id="edge18" class="edge">
<g id="edge18_Node000001_Node000018" class="edge">
<title>Node1&#45;&gt;Node18</title>
<g id="a_edge18_Node000001_Node000018"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M163.24,-187.25C173.62,-187.25 184.25,-187.25 194.65,-187.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="194.37,-190.75 204.37,-187.25 194.37,-183.75 194.37,-190.75"/>
</a>
</g>
</g>
<!-- Node19 -->
<g id="node19" class="node">
<g id="Node000019" class="node">
<title>Node19</title>
<g id="a_node19"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3" target="_top" xlink:title="A handy function to try if we can do a right rotate to the target node.">
<g id="a_Node000019"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3" target="_top" xlink:title="A handy function to try if we can do a right rotate to the target node.">
<polygon fill="white" stroke="#666666" points="353.38,-116.5 202.38,-116.5 202.38,-86 353.38,-86 353.38,-116.5"/>
<text text-anchor="start" x="210.38" y="-103" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="277.88" y="-91.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::TryRightRotate</text>
@@ -203,15 +227,18 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node1&#45;&gt;Node19 -->
<g id="edge21" class="edge">
<g id="edge21_Node000001_Node000019" class="edge">
<title>Node1&#45;&gt;Node19</title>
<g id="a_edge21_Node000001_Node000019"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M112.29,-171.66C135.61,-159.71 169,-143.14 199,-130.25 206.47,-127.04 214.42,-123.84 222.28,-120.8"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="223.41,-123.74 231.51,-116.91 220.92,-117.19 223.41,-123.74"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57" target="_top" xlink:title="Get max item (rightmost) in the current node.">
<g id="a_Node000003"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57" target="_top" xlink:title="Get max item (rightmost) in the current node.">
<polygon fill="white" stroke="#666666" points="533.62,-637.5 407.38,-637.5 407.38,-607 533.62,-607 533.62,-637.5"/>
<text text-anchor="start" x="415.38" y="-624" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-612.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetMaxItem</text>
@@ -219,15 +246,18 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M339.98,-588.96C358.45,-593.7 378.89,-598.96 397.98,-603.86"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="396.86,-607.45 407.42,-606.55 398.6,-600.67 396.86,-607.45"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94" target="_top" xlink:title="Get rightmose child of the current node.">
<g id="a_Node000004"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94" target="_top" xlink:title="Get rightmose child of the current node.">
<polygon fill="white" stroke="#666666" points="548.25,-588.5 392.75,-588.5 392.75,-558 548.25,-558 548.25,-588.5"/>
<text text-anchor="start" x="400.75" y="-575" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-563.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetRightmostChild</text>
@@ -235,15 +265,18 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000002_Node000004" class="edge">
<title>Node2&#45;&gt;Node4</title>
<g id="a_edge3_Node000002_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M357.23,-573.25C365.21,-573.25 373.35,-573.25 381.43,-573.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="381.37,-576.75 391.37,-573.25 381.37,-569.75 381.37,-576.75"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e" target="_top" xlink:title="Get leftmose child of the current node.">
<g id="a_Node000006"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e" target="_top" xlink:title="Get leftmose child of the current node.">
<polygon fill="white" stroke="#666666" points="544.88,-539.5 396.12,-539.5 396.12,-509 544.88,-509 544.88,-539.5"/>
<text text-anchor="start" x="404.12" y="-526" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-514.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetLeftmostChild</text>
@@ -251,15 +284,18 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge5_Node000005_Node000006" class="edge">
<title>Node5&#45;&gt;Node6</title>
<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M339.98,-490.96C358.45,-495.7 378.89,-500.96 397.98,-505.86"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="396.86,-509.45 407.42,-508.55 398.6,-502.67 396.86,-509.45"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71" target="_top" xlink:title="get min item (leftmost) in the current node">
<g id="a_Node000007"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71" target="_top" xlink:title="get min item (leftmost) in the current node">
<polygon fill="white" stroke="#666666" points="532.12,-490.5 408.88,-490.5 408.88,-460 532.12,-460 532.12,-490.5"/>
<text text-anchor="start" x="416.88" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-465.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetMinItem</text>
@@ -267,21 +303,27 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node5&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<g id="edge6_Node000005_Node000007" class="edge">
<title>Node5&#45;&gt;Node7</title>
<g id="a_edge6_Node000005_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M355.59,-475.25C369.46,-475.25 383.89,-475.25 397.62,-475.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="397.46,-478.75 407.46,-475.25 397.46,-471.75 397.46,-478.75"/>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node8 -->
<g id="edge13" class="edge">
<g id="edge13_Node000011_Node000008" class="edge">
<title>Node11&#45;&gt;Node8</title>
<g id="a_edge13_Node000011_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M321.73,-263.57C333.59,-258.3 346.11,-251.8 356.75,-244.25 375.72,-230.78 373.08,-218.68 392.75,-206.25 396.79,-203.7 401.12,-201.38 405.58,-199.28"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="406.7,-202.18 414.52,-195.03 403.95,-195.75 406.7,-202.18"/>
</a>
</g>
</g>
<!-- Node12 -->
<g id="node12" class="node">
<g id="Node000012" class="node">
<title>Node12</title>
<g id="a_node12"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<g id="a_Node000012"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<polygon fill="white" stroke="#666666" points="525.75,-392.5 415.25,-392.5 415.25,-362 525.75,-362 525.75,-392.5"/>
<text text-anchor="start" x="423.25" y="-379" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-367.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetChild</text>
@@ -289,15 +331,18 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node11&#45;&gt;Node12 -->
<g id="edge11" class="edge">
<g id="edge11_Node000011_Node000012" class="edge">
<title>Node11&#45;&gt;Node12</title>
<g id="a_edge11_Node000011_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M299.75,-294.96C321.9,-311.05 358.37,-335.96 392.75,-352.25 396.81,-354.17 401.06,-356.01 405.38,-357.74"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="403.97,-361.33 414.56,-361.62 406.45,-354.79 403.97,-361.33"/>
</a>
</g>
</g>
<!-- Node13 -->
<g id="node13" class="node">
<g id="Node000013" class="node">
<title>Node13</title>
<g id="a_node13"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<g id="a_Node000013"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<polygon fill="white" stroke="#666666" points="524.25,-343.5 416.75,-343.5 416.75,-313 524.25,-313 524.25,-343.5"/>
<text text-anchor="start" x="424.75" y="-330" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-318.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetItem</text>
@@ -305,15 +350,18 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node11&#45;&gt;Node13 -->
<g id="edge12" class="edge">
<g id="edge12_Node000011_Node000013" class="edge">
<title>Node11&#45;&gt;Node13</title>
<g id="a_edge12_Node000011_Node000013"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M333.76,-293.36C356.27,-299.14 382.47,-305.88 405.82,-311.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="404.76,-315.48 415.32,-314.58 406.51,-308.7 404.76,-315.48"/>
</a>
</g>
</g>
<!-- Node14 -->
<g id="node14" class="node">
<g id="Node000014" class="node">
<title>Node14</title>
<g id="a_node14"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<g id="a_Node000014"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="525.38,-294.5 415.62,-294.5 415.62,-264 525.38,-264 525.38,-294.5"/>
<text text-anchor="start" x="423.62" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-269.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
@@ -321,15 +369,18 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node11&#45;&gt;Node14 -->
<g id="edge14" class="edge">
<g id="edge14_Node000011_Node000014" class="edge">
<title>Node11&#45;&gt;Node14</title>
<g id="a_edge14_Node000011_Node000014"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M333.76,-279.25C355.88,-279.25 381.57,-279.25 404.61,-279.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="404.34,-282.75 414.34,-279.25 404.34,-275.75 404.34,-282.75"/>
</a>
</g>
</g>
<!-- Node15 -->
<g id="node15" class="node">
<g id="Node000015" class="node">
<title>Node15</title>
<g id="a_node15"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1" target="_top" xlink:title="Set the item count of the node.">
<g id="a_Node000015"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1" target="_top" xlink:title="Set the item count of the node.">
<polygon fill="white" stroke="#666666" points="527.25,-245.5 413.75,-245.5 413.75,-215 527.25,-215 527.25,-245.5"/>
<text text-anchor="start" x="421.75" y="-232" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-220.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetCount</text>
@@ -337,15 +388,18 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node11&#45;&gt;Node15 -->
<g id="edge15" class="edge">
<g id="edge15_Node000011_Node000015" class="edge">
<title>Node11&#45;&gt;Node15</title>
<g id="a_edge15_Node000011_Node000015"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M333.76,-265.14C355.31,-259.6 380.25,-253.19 402.83,-247.39"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="403.54,-250.56 412.35,-244.68 401.8,-243.78 403.54,-250.56"/>
</a>
</g>
</g>
<!-- Node16 -->
<g id="node16" class="node">
<g id="Node000016" class="node">
<title>Node16</title>
<g id="a_node16"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc" target="_top" xlink:title="Set item value at position of index.">
<g id="a_Node000016"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc" target="_top" xlink:title="Set item value at position of index.">
<polygon fill="white" stroke="#666666" points="523.88,-441.5 417.12,-441.5 417.12,-411 523.88,-411 523.88,-441.5"/>
<text text-anchor="start" x="425.12" y="-428" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-416.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetItem</text>
@@ -353,76 +407,85 @@ var sectionId = 'dynsection-13';
</g>
</g>
<!-- Node11&#45;&gt;Node16 -->
<g id="edge16" class="edge">
<g id="edge16_Node000011_Node000016" class="edge">
<title>Node11&#45;&gt;Node16</title>
<g id="a_edge16_Node000011_Node000016"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M289.28,-294.72C307.36,-320.46 347.06,-372.13 392.75,-401.25 397.1,-404.02 401.79,-406.51 406.62,-408.75"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="405.12,-412.34 415.7,-412.98 407.84,-405.88 405.12,-412.34"/>
</a>
</g>
</g>
<!-- Node18&#45;&gt;Node8 -->
<g id="edge19" class="edge">
<g id="edge19_Node000018_Node000008" class="edge">
<title>Node18&#45;&gt;Node8</title>
<g id="a_edge19_Node000018_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M350.4,-185C368.33,-184.43 387.47,-183.83 405.04,-183.28"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="404.86,-186.75 414.75,-182.94 404.64,-179.76 404.86,-186.75"/>
</a>
</g>
</g>
<!-- Node18&#45;&gt;Node10 -->
<g id="edge20" class="edge">
<g id="edge20_Node000018_Node000010" class="edge">
<title>Node18&#45;&gt;Node10</title>
<g id="a_edge20_Node000018_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M333.25,-171.56C355.48,-165.15 381.39,-157.67 404.6,-150.97"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="405.42,-154.09 414.06,-147.96 403.48,-147.37 405.42,-154.09"/>
</a>
</g>
</g>
<!-- Node19&#45;&gt;Node8 -->
<g id="edge22" class="edge">
<g id="edge22_Node000019_Node000008" class="edge">
<title>Node19&#45;&gt;Node8</title>
<g id="a_edge22_Node000019_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M308.35,-116.85C331.05,-128.52 363.42,-144.45 392.75,-156.25 397.66,-158.23 402.8,-160.16 407.98,-162.03"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="406.37,-165.52 416.96,-165.52 408.68,-158.92 406.37,-165.52"/>
</a>
</g>
</g>
<!-- Node19&#45;&gt;Node17 -->
<g id="edge23" class="edge">
<g id="edge23_Node000019_Node000017" class="edge">
<title>Node19&#45;&gt;Node17</title>
<g id="a_edge23_Node000019_Node000017"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M353.67,-90.66C365.93,-88.92 378.67,-87.12 391.02,-85.37"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="391.34,-88.71 400.75,-83.85 390.36,-81.78 391.34,-88.71"/>
</a>
</g>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<use id="arrowup" xlink:href="#arrowUp" x="0" y="0" onmousedown="handlePan(0,-1)"/>
<use id="arrowright" xlink:href="#arrowRight" x="0" y="0" onmousedown="handlePan(1,0)"/>
<use id="arrowdown" xlink:href="#arrowDown" x="0" y="0" onmousedown="handlePan(0,1)"/>
<use id="arrowleft" xlink:href="#arrowLeft" x="0" y="0" onmousedown="handlePan(-1,0)"/>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -9,9 +9,9 @@
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 641.5)">
<title>data_structures::tree_234::Tree234::RemovePreMerge</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Main function implement the pre&#45;merge remove operation.">
<g id="a_Node000001"><a xlink:title="Main function implement the pre&#45;merge remove operation.">
<polygon fill="#999999" stroke="#666666" points="163,-202.5 0,-202.5 0,-172 163,-172 163,-202.5"/>
<text text-anchor="start" x="8" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="81.5" y="-177.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::RemovePreMerge</text>
@@ -19,9 +19,9 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657" target="_top" xlink:title="Get the max item of the tree.">
<g id="a_Node000002"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657" target="_top" xlink:title="Get the max item of the tree.">
<polygon fill="white" stroke="#666666" points="356.75,-588.5 199,-588.5 199,-558 356.75,-558 356.75,-588.5"/>
<text text-anchor="start" x="207" y="-575" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="277.88" y="-563.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::GetTreeMaxItem</text>
@@ -29,15 +29,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M85.65,-202.67C95.87,-250.13 131.4,-397 199,-499.25 212.14,-519.12 231.55,-537.59 247.71,-551.1"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="244.85,-554.1 254.81,-557.7 249.27,-548.67 244.85,-554.1"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36" target="_top" xlink:title="Get the min item of the tree.">
<g id="a_Node000005"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36" target="_top" xlink:title="Get the min item of the tree.">
<polygon fill="white" stroke="#666666" points="355.25,-490.5 200.5,-490.5 200.5,-460 355.25,-460 355.25,-490.5"/>
<text text-anchor="start" x="208.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="277.88" y="-465.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::GetTreeMinItem</text>
@@ -45,15 +48,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M92.95,-202.73C124.92,-250.1 221.59,-393.33 260.44,-450.9"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="257.88,-452.36 266.37,-458.69 263.68,-448.44 257.88,-452.36"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" target="_top" xlink:title="Check if node is a 2&#45;node.">
<g id="a_Node000008"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" target="_top" xlink:title="Check if node is a 2&#45;node.">
<polygon fill="white" stroke="#666666" points="525,-196.5 416,-196.5 416,-166 525,-166 525,-196.5"/>
<text text-anchor="start" x="424" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-171.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Is2Node</text>
@@ -61,15 +67,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<g id="edge7_Node000001_Node000008" class="edge">
<title>Node1&#45;&gt;Node8</title>
<g id="a_edge7_Node000001_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M147.15,-203C163.93,-206.42 182.05,-209.52 199,-211.25 268.75,-218.36 287.23,-220.34 356.75,-211.25 374.63,-208.91 393.71,-204.57 410.99,-199.91"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="411.8,-203.03 420.49,-196.97 409.92,-196.29 411.8,-203.03"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18" target="_top" xlink:title="Check if node is a 3&#45;node or 4&#45;node, this is useful when we delete item from 2&#45;3&#45;4 tree.">
<g id="a_Node000009"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18" target="_top" xlink:title="Check if node is a 3&#45;node or 4&#45;node, this is useful when we delete item from 2&#45;3&#45;4 tree.">
<polygon fill="white" stroke="#666666" points="335,-30.5 220.75,-30.5 220.75,0 335,0 335,-30.5"/>
<text text-anchor="start" x="228.75" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="277.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Is34Node</text>
@@ -77,15 +86,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge8" class="edge">
<g id="edge8_Node000001_Node000009" class="edge">
<title>Node1&#45;&gt;Node9</title>
<g id="a_edge8_Node000001_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M91.33,-171.62C108.48,-142.59 149.03,-80.06 199,-44.25 203.43,-41.07 208.25,-38.21 213.25,-35.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="214.48,-38.44 222.02,-30.99 211.48,-32.11 214.48,-38.44"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e" target="_top" xlink:title="Do the actual left rotate operation.">
<g id="a_Node000010"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e" target="_top" xlink:title="Do the actual left rotate operation.">
<polygon fill="white" stroke="#666666" points="535.5,-147.5 405.5,-147.5 405.5,-117 535.5,-117 535.5,-147.5"/>
<text text-anchor="start" x="413.5" y="-134" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-122.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::LeftRotate</text>
@@ -93,15 +105,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node10 -->
<g id="edge9" class="edge">
<g id="edge9_Node000001_Node000010" class="edge">
<title>Node1&#45;&gt;Node10</title>
<g id="a_edge9_Node000001_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M153.78,-171.52C168.68,-168.52 184.32,-165.6 199,-163.25 264.61,-152.75 339.72,-144.44 394.12,-139.07"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="394.45,-142.46 404.06,-138.01 393.77,-135.49 394.45,-142.46"/>
</a>
</g>
</g>
<!-- Node11 -->
<g id="node11" class="node">
<g id="Node000011" class="node">
<title>Node11</title>
<g id="a_node11"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9" target="_top" xlink:title="Merge the item at index of the parent node, and its left and right child.">
<g id="a_Node000011"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9" target="_top" xlink:title="Merge the item at index of the parent node, and its left and right child.">
<polygon fill="white" stroke="#666666" points="333.5,-294.5 222.25,-294.5 222.25,-264 333.5,-264 333.5,-294.5"/>
<text text-anchor="start" x="230.25" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="277.88" y="-269.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Merge</text>
@@ -109,15 +124,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node11 -->
<g id="edge10" class="edge">
<g id="edge10_Node000001_Node000011" class="edge">
<title>Node1&#45;&gt;Node11</title>
<g id="a_edge10_Node000001_Node000011"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M113.52,-202.77C136.92,-214.39 169.85,-230.57 199,-244.25 209.47,-249.16 220.8,-254.34 231.49,-259.15"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="229.93,-262.74 240.49,-263.64 232.8,-256.35 229.93,-262.74"/>
</a>
</g>
</g>
<!-- Node17 -->
<g id="node17" class="node">
<g id="Node000017" class="node">
<title>Node17</title>
<g id="a_node17"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9" target="_top" xlink:title="Do the actual right rotate operation.">
<g id="a_Node000017"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9" target="_top" xlink:title="Do the actual right rotate operation.">
<polygon fill="white" stroke="#666666" points="538.88,-89.5 402.12,-89.5 402.12,-59 538.88,-59 538.88,-89.5"/>
<text text-anchor="start" x="410.12" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-64.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::RightRotate</text>
@@ -125,15 +143,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node17 -->
<g id="edge17" class="edge">
<g id="edge17_Node000001_Node000017" class="edge">
<title>Node1&#45;&gt;Node17</title>
<g id="a_edge17_Node000001_Node000017"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M92.82,-171.83C110.84,-146.45 150.77,-96.73 199,-77.25 260.03,-52.6 335.32,-54.04 390.95,-60.39"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="390.46,-63.98 400.81,-61.72 391.31,-57.03 390.46,-63.98"/>
</a>
</g>
</g>
<!-- Node18 -->
<g id="node18" class="node">
<g id="Node000018" class="node">
<title>Node18</title>
<g id="a_node18"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9" target="_top" xlink:title="A handy function to try if we can do a left rotate to the target node.">
<g id="a_Node000018"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9" target="_top" xlink:title="A handy function to try if we can do a left rotate to the target node.">
<polygon fill="white" stroke="#666666" points="350,-202.5 205.75,-202.5 205.75,-172 350,-172 350,-202.5"/>
<text text-anchor="start" x="213.75" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="277.88" y="-177.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::TryLeftRotate</text>
@@ -141,15 +162,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node18 -->
<g id="edge18" class="edge">
<g id="edge18_Node000001_Node000018" class="edge">
<title>Node1&#45;&gt;Node18</title>
<g id="a_edge18_Node000001_Node000018"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M163.24,-187.25C173.62,-187.25 184.25,-187.25 194.65,-187.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="194.37,-190.75 204.37,-187.25 194.37,-183.75 194.37,-190.75"/>
</a>
</g>
</g>
<!-- Node19 -->
<g id="node19" class="node">
<g id="Node000019" class="node">
<title>Node19</title>
<g id="a_node19"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3" target="_top" xlink:title="A handy function to try if we can do a right rotate to the target node.">
<g id="a_Node000019"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3" target="_top" xlink:title="A handy function to try if we can do a right rotate to the target node.">
<polygon fill="white" stroke="#666666" points="353.38,-116.5 202.38,-116.5 202.38,-86 353.38,-86 353.38,-116.5"/>
<text text-anchor="start" x="210.38" y="-103" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="277.88" y="-91.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::TryRightRotate</text>
@@ -157,15 +181,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node19 -->
<g id="edge21" class="edge">
<g id="edge21_Node000001_Node000019" class="edge">
<title>Node1&#45;&gt;Node19</title>
<g id="a_edge21_Node000001_Node000019"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M112.29,-171.66C135.61,-159.71 169,-143.14 199,-130.25 206.47,-127.04 214.42,-123.84 222.28,-120.8"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="223.41,-123.74 231.51,-116.91 220.92,-117.19 223.41,-123.74"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57" target="_top" xlink:title="Get max item (rightmost) in the current node.">
<g id="a_Node000003"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57" target="_top" xlink:title="Get max item (rightmost) in the current node.">
<polygon fill="white" stroke="#666666" points="533.62,-637.5 407.38,-637.5 407.38,-607 533.62,-607 533.62,-637.5"/>
<text text-anchor="start" x="415.38" y="-624" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-612.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetMaxItem</text>
@@ -173,15 +200,18 @@
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M339.98,-588.96C358.45,-593.7 378.89,-598.96 397.98,-603.86"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="396.86,-607.45 407.42,-606.55 398.6,-600.67 396.86,-607.45"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94" target="_top" xlink:title="Get rightmose child of the current node.">
<g id="a_Node000004"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94" target="_top" xlink:title="Get rightmose child of the current node.">
<polygon fill="white" stroke="#666666" points="548.25,-588.5 392.75,-588.5 392.75,-558 548.25,-558 548.25,-588.5"/>
<text text-anchor="start" x="400.75" y="-575" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-563.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetRightmostChild</text>
@@ -189,15 +219,18 @@
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000002_Node000004" class="edge">
<title>Node2&#45;&gt;Node4</title>
<g id="a_edge3_Node000002_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M357.23,-573.25C365.21,-573.25 373.35,-573.25 381.43,-573.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="381.37,-576.75 391.37,-573.25 381.37,-569.75 381.37,-576.75"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e" target="_top" xlink:title="Get leftmose child of the current node.">
<g id="a_Node000006"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e" target="_top" xlink:title="Get leftmose child of the current node.">
<polygon fill="white" stroke="#666666" points="544.88,-539.5 396.12,-539.5 396.12,-509 544.88,-509 544.88,-539.5"/>
<text text-anchor="start" x="404.12" y="-526" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-514.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetLeftmostChild</text>
@@ -205,15 +238,18 @@
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge5_Node000005_Node000006" class="edge">
<title>Node5&#45;&gt;Node6</title>
<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M339.98,-490.96C358.45,-495.7 378.89,-500.96 397.98,-505.86"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="396.86,-509.45 407.42,-508.55 398.6,-502.67 396.86,-509.45"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71" target="_top" xlink:title="get min item (leftmost) in the current node">
<g id="a_Node000007"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71" target="_top" xlink:title="get min item (leftmost) in the current node">
<polygon fill="white" stroke="#666666" points="532.12,-490.5 408.88,-490.5 408.88,-460 532.12,-460 532.12,-490.5"/>
<text text-anchor="start" x="416.88" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-465.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetMinItem</text>
@@ -221,21 +257,27 @@
</g>
</g>
<!-- Node5&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<g id="edge6_Node000005_Node000007" class="edge">
<title>Node5&#45;&gt;Node7</title>
<g id="a_edge6_Node000005_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M355.59,-475.25C369.46,-475.25 383.89,-475.25 397.62,-475.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="397.46,-478.75 407.46,-475.25 397.46,-471.75 397.46,-478.75"/>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node8 -->
<g id="edge13" class="edge">
<g id="edge13_Node000011_Node000008" class="edge">
<title>Node11&#45;&gt;Node8</title>
<g id="a_edge13_Node000011_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M321.73,-263.57C333.59,-258.3 346.11,-251.8 356.75,-244.25 375.72,-230.78 373.08,-218.68 392.75,-206.25 396.79,-203.7 401.12,-201.38 405.58,-199.28"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="406.7,-202.18 414.52,-195.03 403.95,-195.75 406.7,-202.18"/>
</a>
</g>
</g>
<!-- Node12 -->
<g id="node12" class="node">
<g id="Node000012" class="node">
<title>Node12</title>
<g id="a_node12"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<g id="a_Node000012"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4" target="_top" xlink:title="Get the child pointer at position of index.">
<polygon fill="white" stroke="#666666" points="525.75,-392.5 415.25,-392.5 415.25,-362 525.75,-362 525.75,-392.5"/>
<text text-anchor="start" x="423.25" y="-379" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-367.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetChild</text>
@@ -243,15 +285,18 @@
</g>
</g>
<!-- Node11&#45;&gt;Node12 -->
<g id="edge11" class="edge">
<g id="edge11_Node000011_Node000012" class="edge">
<title>Node11&#45;&gt;Node12</title>
<g id="a_edge11_Node000011_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M299.75,-294.96C321.9,-311.05 358.37,-335.96 392.75,-352.25 396.81,-354.17 401.06,-356.01 405.38,-357.74"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="403.97,-361.33 414.56,-361.62 406.45,-354.79 403.97,-361.33"/>
</a>
</g>
</g>
<!-- Node13 -->
<g id="node13" class="node">
<g id="Node000013" class="node">
<title>Node13</title>
<g id="a_node13"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<g id="a_Node000013"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3" target="_top" xlink:title="Get item of the \index index.">
<polygon fill="white" stroke="#666666" points="524.25,-343.5 416.75,-343.5 416.75,-313 524.25,-313 524.25,-343.5"/>
<text text-anchor="start" x="424.75" y="-330" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-318.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetItem</text>
@@ -259,15 +304,18 @@
</g>
</g>
<!-- Node11&#45;&gt;Node13 -->
<g id="edge12" class="edge">
<g id="edge12_Node000011_Node000013" class="edge">
<title>Node11&#45;&gt;Node13</title>
<g id="a_edge12_Node000011_Node000013"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M333.76,-293.36C356.27,-299.14 382.47,-305.88 405.82,-311.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="404.76,-315.48 415.32,-314.58 406.51,-308.7 404.76,-315.48"/>
</a>
</g>
</g>
<!-- Node14 -->
<g id="node14" class="node">
<g id="Node000014" class="node">
<title>Node14</title>
<g id="a_node14"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<g id="a_Node000014"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="525.38,-294.5 415.62,-294.5 415.62,-264 525.38,-264 525.38,-294.5"/>
<text text-anchor="start" x="423.62" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-269.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
@@ -275,15 +323,18 @@
</g>
</g>
<!-- Node11&#45;&gt;Node14 -->
<g id="edge14" class="edge">
<g id="edge14_Node000011_Node000014" class="edge">
<title>Node11&#45;&gt;Node14</title>
<g id="a_edge14_Node000011_Node000014"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M333.76,-279.25C355.88,-279.25 381.57,-279.25 404.61,-279.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="404.34,-282.75 414.34,-279.25 404.34,-275.75 404.34,-282.75"/>
</a>
</g>
</g>
<!-- Node15 -->
<g id="node15" class="node">
<g id="Node000015" class="node">
<title>Node15</title>
<g id="a_node15"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1" target="_top" xlink:title="Set the item count of the node.">
<g id="a_Node000015"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1" target="_top" xlink:title="Set the item count of the node.">
<polygon fill="white" stroke="#666666" points="527.25,-245.5 413.75,-245.5 413.75,-215 527.25,-215 527.25,-245.5"/>
<text text-anchor="start" x="421.75" y="-232" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-220.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetCount</text>
@@ -291,15 +342,18 @@
</g>
</g>
<!-- Node11&#45;&gt;Node15 -->
<g id="edge15" class="edge">
<g id="edge15_Node000011_Node000015" class="edge">
<title>Node11&#45;&gt;Node15</title>
<g id="a_edge15_Node000011_Node000015"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M333.76,-265.14C355.31,-259.6 380.25,-253.19 402.83,-247.39"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="403.54,-250.56 412.35,-244.68 401.8,-243.78 403.54,-250.56"/>
</a>
</g>
</g>
<!-- Node16 -->
<g id="node16" class="node">
<g id="Node000016" class="node">
<title>Node16</title>
<g id="a_node16"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc" target="_top" xlink:title="Set item value at position of index.">
<g id="a_Node000016"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc" target="_top" xlink:title="Set item value at position of index.">
<polygon fill="white" stroke="#666666" points="523.88,-441.5 417.12,-441.5 417.12,-411 523.88,-411 523.88,-441.5"/>
<text text-anchor="start" x="425.12" y="-428" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="470.5" y="-416.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetItem</text>
@@ -307,34 +361,49 @@
</g>
</g>
<!-- Node11&#45;&gt;Node16 -->
<g id="edge16" class="edge">
<g id="edge16_Node000011_Node000016" class="edge">
<title>Node11&#45;&gt;Node16</title>
<g id="a_edge16_Node000011_Node000016"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M289.28,-294.72C307.36,-320.46 347.06,-372.13 392.75,-401.25 397.1,-404.02 401.79,-406.51 406.62,-408.75"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="405.12,-412.34 415.7,-412.98 407.84,-405.88 405.12,-412.34"/>
</a>
</g>
</g>
<!-- Node18&#45;&gt;Node8 -->
<g id="edge19" class="edge">
<g id="edge19_Node000018_Node000008" class="edge">
<title>Node18&#45;&gt;Node8</title>
<g id="a_edge19_Node000018_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M350.4,-185C368.33,-184.43 387.47,-183.83 405.04,-183.28"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="404.86,-186.75 414.75,-182.94 404.64,-179.76 404.86,-186.75"/>
</a>
</g>
</g>
<!-- Node18&#45;&gt;Node10 -->
<g id="edge20" class="edge">
<g id="edge20_Node000018_Node000010" class="edge">
<title>Node18&#45;&gt;Node10</title>
<g id="a_edge20_Node000018_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M333.25,-171.56C355.48,-165.15 381.39,-157.67 404.6,-150.97"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="405.42,-154.09 414.06,-147.96 403.48,-147.37 405.42,-154.09"/>
</a>
</g>
</g>
<!-- Node19&#45;&gt;Node8 -->
<g id="edge22" class="edge">
<g id="edge22_Node000019_Node000008" class="edge">
<title>Node19&#45;&gt;Node8</title>
<g id="a_edge22_Node000019_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M308.35,-116.85C331.05,-128.52 363.42,-144.45 392.75,-156.25 397.66,-158.23 402.8,-160.16 407.98,-162.03"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="406.37,-165.52 416.96,-165.52 408.68,-158.92 406.37,-165.52"/>
</a>
</g>
</g>
<!-- Node19&#45;&gt;Node17 -->
<g id="edge23" class="edge">
<g id="edge23_Node000019_Node000017" class="edge">
<title>Node19&#45;&gt;Node17</title>
<g id="a_edge23_Node000019_Node000017"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M353.67,-90.66C365.93,-88.92 378.67,-87.12 391.02,-85.37"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="391.34,-88.71 400.75,-83.85 390.36,-81.78 391.34,-88.71"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -1,5 +1,7 @@
<map id="data_structures::tree_234::Tree234::GetTreeMinItem" name="data_structures::tree_234::Tree234::GetTreeMinItem">
<area shape="rect" id="node1" title="Get the min item of the tree." alt="" coords="5,39,212,79"/>
<area shape="rect" id="node2" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e" title="Get leftmose child of the current node." alt="" coords="260,5,458,46"/>
<area shape="rect" id="node3" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71" title="get min item (leftmost) in the current node" alt="" coords="277,71,441,111"/>
<area shape="rect" id="Node000001" title="Get the min item of the tree." alt="" coords="5,39,212,79"/>
<area shape="rect" id="Node000002" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e" title="Get leftmose child of the current node." alt="" coords="260,5,458,46"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="212,43,245,38,245,43,212,48"/>
<area shape="rect" id="Node000003" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71" title="get min item (leftmost) in the current node" alt="" coords="277,71,441,111"/>
<area shape="poly" id="edge2_Node000001_Node000003" title=" " alt="" coords="212,70,262,76,262,81,212,75"/>
</map>

View File

@@ -1 +1 @@
6baedfb64b756cc5d91a3fef631f4416
9074ed9a9a5d19235d16d1f2d07eb74f

View File

@@ -6,12 +6,22 @@
<!-- Title: data_structures::tree_234::Tree234::GetTreeMinItem Pages: 1 -->
<svg width="348pt" height="88pt"
viewBox="0.00 0.00 347.50 87.50" 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" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 83.5)">
<title>data_structures::tree_234::Tree234::GetTreeMinItem</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Get the min item of the tree.">
<g id="a_Node000001"><a xlink:title="Get the min item of the tree.">
<polygon fill="#999999" stroke="#666666" points="154.75,-54.5 0,-54.5 0,-24 154.75,-24 154.75,-54.5"/>
<text text-anchor="start" x="8" y="-41" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="77.38" y="-29.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::GetTreeMinItem</text>
@@ -19,9 +29,9 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e" target="_top" xlink:title="Get leftmose child of the current node.">
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e" target="_top" xlink:title="Get leftmose child of the current node.">
<polygon fill="white" stroke="#666666" points="339.5,-79.5 190.75,-79.5 190.75,-49 339.5,-49 339.5,-79.5"/>
<text text-anchor="start" x="198.75" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="265.12" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetLeftmostChild</text>
@@ -29,15 +39,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M155,-49.56C163.13,-50.66 171.43,-51.77 179.64,-52.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="178.99,-56.46 189.37,-54.32 179.92,-49.52 178.99,-56.46"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71" target="_top" xlink:title="get min item (leftmost) in the current node">
<g id="a_Node000003"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71" target="_top" xlink:title="get min item (leftmost) in the current node">
<polygon fill="white" stroke="#666666" points="326.75,-30.5 203.5,-30.5 203.5,0 326.75,0 326.75,-30.5"/>
<text text-anchor="start" x="211.5" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="265.12" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetMinItem</text>
@@ -45,10 +58,28 @@
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M155,-29.35C167.44,-27.74 180.29,-26.08 192.61,-24.49"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="192.8,-27.87 202.27,-23.11 191.9,-20.92 192.8,-27.87"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -0,0 +1,60 @@
<?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 8.0.5 (20230430.1635)
-->
<!-- Title: data_structures::tree_234::Tree234::GetTreeMinItem Pages: 1 -->
<svg width="348pt" height="88pt"
viewBox="0.00 0.00 347.50 87.50" 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 83.5)">
<title>data_structures::tree_234::Tree234::GetTreeMinItem</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Get the min item of the tree.">
<polygon fill="#999999" stroke="#666666" points="154.75,-54.5 0,-54.5 0,-24 154.75,-24 154.75,-54.5"/>
<text text-anchor="start" x="8" y="-41" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="77.38" y="-29.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::GetTreeMinItem</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e" target="_top" xlink:title="Get leftmose child of the current node.">
<polygon fill="white" stroke="#666666" points="339.5,-79.5 190.75,-79.5 190.75,-49 339.5,-49 339.5,-79.5"/>
<text text-anchor="start" x="198.75" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="265.12" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetLeftmostChild</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M155,-49.56C163.13,-50.66 171.43,-51.77 179.64,-52.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="178.99,-56.46 189.37,-54.32 179.92,-49.52 178.99,-56.46"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71" target="_top" xlink:title="get min item (leftmost) in the current node">
<polygon fill="white" stroke="#666666" points="326.75,-30.5 203.5,-30.5 203.5,0 326.75,0 326.75,-30.5"/>
<text text-anchor="start" x="211.5" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="265.12" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetMinItem</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M155,-29.35C167.44,-27.74 180.29,-26.08 192.61,-24.49"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="192.8,-27.87 202.27,-23.11 191.9,-20.92 192.8,-27.87"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -1,12 +1,22 @@
<map id="data_structures::tree_234::Tree234::Insert" name="data_structures::tree_234::Tree234::Insert">
<area shape="rect" id="node1" title="Insert item to tree." alt="" coords="5,135,151,175"/>
<area shape="rect" id="node2" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" title="A insert implementation of pre&#45;split." alt="" coords="199,135,390,175"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/memory/unique_ptr/get.html#" title=" " alt="" coords="482,85,615,111"/>
<area shape="rect" id="node4" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" title="Merge node to a not&#45;full target node." alt="" coords="438,135,659,175"/>
<area shape="rect" id="node10" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node." alt="" coords="464,200,633,241"/>
<area shape="rect" id="node5" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" title="Insert item to the proper position of the node and return the position index." alt="" coords="707,73,863,114"/>
<area shape="rect" id="node8" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" title="Check if node is a full (4&#45;node)" alt="" coords="942,136,1083,177"/>
<area shape="rect" id="node9" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="712,192,858,233"/>
<area shape="rect" id="node6" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" title="Check if item is in the node." alt="" coords="938,5,1087,46"/>
<area shape="rect" id="node7" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" title="Insert a value to the index position." alt="" coords="911,71,1114,111"/>
<area shape="rect" id="Node000001" title="Insert item to tree." alt="" coords="5,135,151,175"/>
<area shape="rect" id="Node000002" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" title="A insert implementation of pre&#45;split." alt="" coords="199,135,390,175"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="151,152,184,152,184,158,151,158"/>
<area shape="rect" id="Node000003" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/memory/unique_ptr/get.html#" title=" " alt="" coords="482,85,615,111"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="387,131,473,112,475,117,388,137"/>
<area shape="rect" id="Node000004" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" title="Merge node to a not&#45;full target node." alt="" coords="438,135,659,175"/>
<area shape="poly" id="edge3_Node000002_Node000004" title=" " alt="" coords="390,152,423,152,423,158,390,158"/>
<area shape="rect" id="Node000010" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node." alt="" coords="464,200,633,241"/>
<area shape="poly" id="edge10_Node000002_Node000010" title=" " alt="" coords="377,173,453,193,452,198,376,179"/>
<area shape="rect" id="Node000005" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" title="Insert item to the proper position of the node and return the position index." alt="" coords="707,73,863,114"/>
<area shape="poly" id="edge4_Node000004_Node000005" title=" " alt="" coords="629,131,693,115,694,120,630,137"/>
<area shape="rect" id="Node000008" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" title="Check if node is a full (4&#45;node)" alt="" coords="942,136,1083,177"/>
<area shape="poly" id="edge8_Node000004_Node000008" title=" " alt="" coords="660,153,927,153,927,159,660,158"/>
<area shape="rect" id="Node000009" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="712,192,858,233"/>
<area shape="poly" id="edge9_Node000004_Node000009" title=" " alt="" coords="636,173,698,189,697,194,634,178"/>
<area shape="rect" id="Node000006" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" title="Check if item is in the node." alt="" coords="938,5,1087,46"/>
<area shape="poly" id="edge5_Node000005_Node000006" title=" " alt="" coords="855,70,927,48,929,53,856,75"/>
<area shape="rect" id="Node000007" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" title="Insert a value to the index position." alt="" coords="911,71,1114,111"/>
<area shape="poly" id="edge6_Node000005_Node000007" title=" " alt="" coords="863,90,896,90,896,95,863,95"/>
<area shape="poly" id="edge7_Node000005_Node000008" title=" " alt="" coords="862,112,928,130,926,135,860,117"/>
</map>

View File

@@ -1 +1 @@
e488da9bd825a0a071c8c78a1a60b460
bbc7abb032bc1f6b9ea5e314dcae3710

View File

@@ -5,59 +5,59 @@
-->
<!-- Title: data_structures::tree_234::Tree234::Insert Pages: 1 -->
<!--zoomable 185 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="text/javascript"><![CDATA[
var edges = document.getElementsByTagName('g');
if (edges && edges.length) {
for (var i=0;i<edges.length;i++) {
if (edges[i].id.substr(0,4)=='edge') {
edges[i].setAttribute('class','edge');
}
}
}
]]></script>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/></use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/></use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="arrowUp" transform="translate(30 24)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" transform="rotate(90) translate(36 -43)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" transform="rotate(180) translate(-30 -48)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" transform="rotate(270) translate(-36 17)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040"><set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/></use>
</g>
</defs>
<script type="application/ecmascript">
var viewWidth = 840;
var viewHeight = 185;
var sectionId = 'dynsection-4';
</script>
<script xlink:href="../../svgpan.js"/>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>data_structures::tree_234::Tree234::Insert</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Insert item to tree.">
<g id="a_Node000001"><a xlink:title="Insert item to tree.">
<polygon fill="#999999" stroke="#666666" points="109,-79.5 0,-79.5 0,-49 109,-49 109,-79.5"/>
<text text-anchor="start" x="8" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="54.5" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Insert</text>
@@ -65,9 +65,9 @@ var sectionId = 'dynsection-4';
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" target="_top" xlink:title="A insert implementation of pre&#45;split.">
<g id="a_Node000002"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" target="_top" xlink:title="A insert implementation of pre&#45;split.">
<polygon fill="white" stroke="#666666" points="288.5,-79.5 145,-79.5 145,-49 288.5,-49 288.5,-79.5"/>
<text text-anchor="start" x="153" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="216.75" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::InsertPreSplit</text>
@@ -75,30 +75,36 @@ var sectionId = 'dynsection-4';
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M109.31,-64.25C117.21,-64.25 125.5,-64.25 133.81,-64.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="133.72,-67.75 143.72,-64.25 133.72,-60.75 133.72,-67.75"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html#" xlink:title=" ">
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="457.5,-116.88 357.5,-116.88 357.5,-97.62 457.5,-97.62 457.5,-116.88"/>
<text text-anchor="middle" x="407.5" y="-103.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::unique_ptr::get</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M286.69,-79.96C308.03,-84.82 331.24,-90.1 351.5,-94.72"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="350.58,-98.33 361.11,-97.14 352.13,-91.5 350.58,-98.33"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<g id="a_Node000004"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<polygon fill="white" stroke="#666666" points="490.5,-79.5 324.5,-79.5 324.5,-49 490.5,-49 490.5,-79.5"/>
<text text-anchor="start" x="332.5" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="407.5" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::MergeNodeNotFull</text>
@@ -106,15 +112,18 @@ var sectionId = 'dynsection-4';
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000002_Node000004" class="edge">
<title>Node2&#45;&gt;Node4</title>
<g id="a_edge3_Node000002_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M288.84,-64.25C296.83,-64.25 305.06,-64.25 313.28,-64.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="313.06,-67.75 323.06,-64.25 313.06,-60.75 313.06,-67.75"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<g id="a_Node000010"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<polygon fill="white" stroke="#666666" points="471,-30.5 344,-30.5 344,0 471,0 471,-30.5"/>
<text text-anchor="start" x="352" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="407.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::SplitNode</text>
@@ -122,15 +131,18 @@ var sectionId = 'dynsection-4';
</g>
</g>
<!-- Node2&#45;&gt;Node10 -->
<g id="edge10" class="edge">
<g id="edge10_Node000002_Node000010" class="edge">
<title>Node2&#45;&gt;Node10</title>
<g id="a_edge10_Node000002_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M278.25,-48.54C296.45,-43.82 316.59,-38.59 335.42,-33.7"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="336.22,-36.85 345.02,-30.95 334.46,-30.08 336.22,-36.85"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<g id="a_Node000005"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<polygon fill="white" stroke="#666666" points="643,-125.5 526.5,-125.5 526.5,-95 643,-95 643,-125.5"/>
<text text-anchor="start" x="534.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="584.75" y="-100.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItem</text>
@@ -138,15 +150,18 @@ var sectionId = 'dynsection-4';
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000004_Node000005" class="edge">
<title>Node4&#45;&gt;Node5</title>
<g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M468.32,-79.95C483.69,-83.99 500.34,-88.36 516.08,-92.49"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="514.71,-96.01 525.27,-95.16 516.49,-89.24 514.71,-96.01"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<g id="a_Node000008"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<polygon fill="white" stroke="#666666" points="808.25,-78.5 702.25,-78.5 702.25,-48 808.25,-48 808.25,-78.5"/>
<text text-anchor="start" x="710.25" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="755.25" y="-53.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::IsFull</text>
@@ -154,15 +169,18 @@ var sectionId = 'dynsection-4';
</g>
</g>
<!-- Node4&#45;&gt;Node8 -->
<g id="edge8" class="edge">
<g id="edge8_Node000004_Node000008" class="edge">
<title>Node4&#45;&gt;Node8</title>
<g id="a_edge8_Node000004_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M490.88,-64.01C552.2,-63.83 634.69,-63.6 690.9,-63.43"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="690.79,-66.93 700.78,-63.4 690.77,-59.93 690.79,-66.93"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<g id="a_Node000009"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="639.62,-36.5 529.88,-36.5 529.88,-6 639.62,-6 639.62,-36.5"/>
<text text-anchor="start" x="537.88" y="-23" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="584.75" y="-11.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
@@ -170,15 +188,18 @@ var sectionId = 'dynsection-4';
</g>
</g>
<!-- Node4&#45;&gt;Node9 -->
<g id="edge9" class="edge">
<g id="edge9_Node000004_Node000009" class="edge">
<title>Node4&#45;&gt;Node9</title>
<g id="a_edge9_Node000004_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M472.27,-48.6C487.53,-44.86 503.85,-40.86 519.15,-37.1"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="519.68,-40.33 528.56,-34.55 518.01,-33.53 519.68,-40.33"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<g id="a_Node000006"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<polygon fill="white" stroke="#666666" points="810.88,-176.5 699.62,-176.5 699.62,-146 810.88,-146 810.88,-176.5"/>
<text text-anchor="start" x="707.62" y="-163" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="755.25" y="-151.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Contains</text>
@@ -186,15 +207,18 @@ var sectionId = 'dynsection-4';
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge5_Node000005_Node000006" class="edge">
<title>Node5&#45;&gt;Node6</title>
<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M637.68,-125.97C654.9,-131.18 674.24,-137.03 692.14,-142.45"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="690.91,-146.04 701.49,-145.58 692.93,-139.34 690.91,-146.04"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<g id="a_Node000007"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<polygon fill="white" stroke="#666666" points="831.5,-127.5 679,-127.5 679,-97 831.5,-97 831.5,-127.5"/>
<text text-anchor="start" x="687" y="-114" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="755.25" y="-102.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItemByIndex</text>
@@ -202,58 +226,58 @@ var sectionId = 'dynsection-4';
</g>
</g>
<!-- Node5&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<g id="edge6_Node000005_Node000007" class="edge">
<title>Node5&#45;&gt;Node7</title>
<g id="a_edge6_Node000005_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M643.27,-110.93C651.16,-111.03 659.39,-111.12 667.66,-111.22"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="667.48,-114.73 677.52,-111.35 667.56,-107.73 667.48,-114.73"/>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<g id="edge7_Node000005_Node000008" class="edge">
<title>Node5&#45;&gt;Node8</title>
<g id="a_edge7_Node000005_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M641.86,-94.6C657.72,-90.17 675.09,-85.33 691.33,-80.8"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="692.11,-83.94 700.81,-77.88 690.23,-77.19 692.11,-83.94"/>
</a>
</g>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<use id="arrowup" xlink:href="#arrowUp" x="0" y="0" onmousedown="handlePan(0,-1)"/>
<use id="arrowright" xlink:href="#arrowRight" x="0" y="0" onmousedown="handlePan(1,0)"/>
<use id="arrowdown" xlink:href="#arrowDown" x="0" y="0" onmousedown="handlePan(0,1)"/>
<use id="arrowleft" xlink:href="#arrowLeft" x="0" y="0" onmousedown="handlePan(-1,0)"/>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -9,9 +9,9 @@
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 180.5)">
<title>data_structures::tree_234::Tree234::Insert</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Insert item to tree.">
<g id="a_Node000001"><a xlink:title="Insert item to tree.">
<polygon fill="#999999" stroke="#666666" points="109,-79.5 0,-79.5 0,-49 109,-49 109,-79.5"/>
<text text-anchor="start" x="8" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="54.5" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Insert</text>
@@ -19,9 +19,9 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" target="_top" xlink:title="A insert implementation of pre&#45;split.">
<g id="a_Node000002"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" target="_top" xlink:title="A insert implementation of pre&#45;split.">
<polygon fill="white" stroke="#666666" points="288.5,-79.5 145,-79.5 145,-49 288.5,-49 288.5,-79.5"/>
<text text-anchor="start" x="153" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="216.75" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::InsertPreSplit</text>
@@ -29,30 +29,36 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M109.31,-64.25C117.21,-64.25 125.5,-64.25 133.81,-64.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="133.72,-67.75 143.72,-64.25 133.72,-60.75 133.72,-67.75"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html#" xlink:title=" ">
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="457.5,-116.88 357.5,-116.88 357.5,-97.62 457.5,-97.62 457.5,-116.88"/>
<text text-anchor="middle" x="407.5" y="-103.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::unique_ptr::get</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M286.69,-79.96C308.03,-84.82 331.24,-90.1 351.5,-94.72"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="350.58,-98.33 361.11,-97.14 352.13,-91.5 350.58,-98.33"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<g id="a_Node000004"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<polygon fill="white" stroke="#666666" points="490.5,-79.5 324.5,-79.5 324.5,-49 490.5,-49 490.5,-79.5"/>
<text text-anchor="start" x="332.5" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="407.5" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::MergeNodeNotFull</text>
@@ -60,15 +66,18 @@
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000002_Node000004" class="edge">
<title>Node2&#45;&gt;Node4</title>
<g id="a_edge3_Node000002_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M288.84,-64.25C296.83,-64.25 305.06,-64.25 313.28,-64.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="313.06,-67.75 323.06,-64.25 313.06,-60.75 313.06,-67.75"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<g id="a_Node000010"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<polygon fill="white" stroke="#666666" points="471,-30.5 344,-30.5 344,0 471,0 471,-30.5"/>
<text text-anchor="start" x="352" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="407.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::SplitNode</text>
@@ -76,15 +85,18 @@
</g>
</g>
<!-- Node2&#45;&gt;Node10 -->
<g id="edge10" class="edge">
<g id="edge10_Node000002_Node000010" class="edge">
<title>Node2&#45;&gt;Node10</title>
<g id="a_edge10_Node000002_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M278.25,-48.54C296.45,-43.82 316.59,-38.59 335.42,-33.7"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="336.22,-36.85 345.02,-30.95 334.46,-30.08 336.22,-36.85"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<g id="a_Node000005"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<polygon fill="white" stroke="#666666" points="643,-125.5 526.5,-125.5 526.5,-95 643,-95 643,-125.5"/>
<text text-anchor="start" x="534.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="584.75" y="-100.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItem</text>
@@ -92,15 +104,18 @@
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000004_Node000005" class="edge">
<title>Node4&#45;&gt;Node5</title>
<g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M468.32,-79.95C483.69,-83.99 500.34,-88.36 516.08,-92.49"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="514.71,-96.01 525.27,-95.16 516.49,-89.24 514.71,-96.01"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<g id="a_Node000008"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<polygon fill="white" stroke="#666666" points="808.25,-78.5 702.25,-78.5 702.25,-48 808.25,-48 808.25,-78.5"/>
<text text-anchor="start" x="710.25" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="755.25" y="-53.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::IsFull</text>
@@ -108,15 +123,18 @@
</g>
</g>
<!-- Node4&#45;&gt;Node8 -->
<g id="edge8" class="edge">
<g id="edge8_Node000004_Node000008" class="edge">
<title>Node4&#45;&gt;Node8</title>
<g id="a_edge8_Node000004_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M490.88,-64.01C552.2,-63.83 634.69,-63.6 690.9,-63.43"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="690.79,-66.93 700.78,-63.4 690.77,-59.93 690.79,-66.93"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<g id="a_Node000009"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="639.62,-36.5 529.88,-36.5 529.88,-6 639.62,-6 639.62,-36.5"/>
<text text-anchor="start" x="537.88" y="-23" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="584.75" y="-11.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
@@ -124,15 +142,18 @@
</g>
</g>
<!-- Node4&#45;&gt;Node9 -->
<g id="edge9" class="edge">
<g id="edge9_Node000004_Node000009" class="edge">
<title>Node4&#45;&gt;Node9</title>
<g id="a_edge9_Node000004_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M472.27,-48.6C487.53,-44.86 503.85,-40.86 519.15,-37.1"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="519.68,-40.33 528.56,-34.55 518.01,-33.53 519.68,-40.33"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<g id="a_Node000006"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<polygon fill="white" stroke="#666666" points="810.88,-176.5 699.62,-176.5 699.62,-146 810.88,-146 810.88,-176.5"/>
<text text-anchor="start" x="707.62" y="-163" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="755.25" y="-151.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Contains</text>
@@ -140,15 +161,18 @@
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge5_Node000005_Node000006" class="edge">
<title>Node5&#45;&gt;Node6</title>
<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M637.68,-125.97C654.9,-131.18 674.24,-137.03 692.14,-142.45"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="690.91,-146.04 701.49,-145.58 692.93,-139.34 690.91,-146.04"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<g id="a_Node000007"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<polygon fill="white" stroke="#666666" points="831.5,-127.5 679,-127.5 679,-97 831.5,-97 831.5,-127.5"/>
<text text-anchor="start" x="687" y="-114" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="755.25" y="-102.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItemByIndex</text>
@@ -156,16 +180,22 @@
</g>
</g>
<!-- Node5&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<g id="edge6_Node000005_Node000007" class="edge">
<title>Node5&#45;&gt;Node7</title>
<g id="a_edge6_Node000005_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M643.27,-110.93C651.16,-111.03 659.39,-111.12 667.66,-111.22"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="667.48,-114.73 677.52,-111.35 667.56,-107.73 667.48,-114.73"/>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<g id="edge7_Node000005_Node000008" class="edge">
<title>Node5&#45;&gt;Node8</title>
<g id="a_edge7_Node000005_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M641.86,-94.6C657.72,-90.17 675.09,-85.33 691.33,-80.8"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="692.11,-83.94 700.81,-77.88 690.23,-77.19 692.11,-83.94"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -1,4 +1,6 @@
<map id="data_structures::tree_234::Tree234::Traverse" name="data_structures::tree_234::Tree234::Traverse">
<area shape="rect" id="node1" title="In&#45;order traverse." alt="" coords="5,29,169,70"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="217,37,288,63"/>
<area shape="rect" id="Node000001" title="In&#45;order traverse." alt="" coords="5,29,169,70"/>
<area shape="poly" id="edge2_Node000001_Node000001" title=" " alt="" coords="55,29,54,19,59,11,70,5,87,3,106,5,117,12,114,16,104,10,87,8,72,10,62,14,59,20,60,28"/>
<area shape="rect" id="Node000002" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="217,37,288,63"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="169,47,202,47,202,52,169,52"/>
</map>

View File

@@ -1 +1 @@
1f688ac1440e299aefc8ffd121754437
dd153d4fe98e898ddf769f35d6219caf

View File

@@ -6,12 +6,22 @@
<!-- Title: data_structures::tree_234::Tree234::Traverse Pages: 1 -->
<svg width="220pt" height="57pt"
viewBox="0.00 0.00 220.00 56.50" 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" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 52.5)">
<title>data_structures::tree_234::Tree234::Traverse</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="In&#45;order traverse.">
<g id="a_Node000001"><a xlink:title="In&#45;order traverse.">
<polygon fill="#999999" stroke="#666666" points="122.5,-30.5 0,-30.5 0,0 122.5,0 122.5,-30.5"/>
<text text-anchor="start" x="8" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="61.25" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Traverse</text>
@@ -19,25 +29,46 @@
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge2" class="edge">
<g id="edge2_Node000001_Node000001" class="edge">
<title>Node1&#45;&gt;Node1</title>
<g id="a_edge2_Node000001_Node000001"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M39.28,-30.99C34.79,-40.06 42.12,-48.5 61.25,-48.5 72.01,-48.5 79.04,-45.83 82.33,-41.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="85.89,-42.24 83.22,-31.99 78.92,-41.67 85.89,-42.24"/>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="212,-24.88 158.5,-24.88 158.5,-5.63 212,-5.63 212,-24.88"/>
<text text-anchor="middle" x="185.25" y="-11.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M122.89,-15.25C131.25,-15.25 139.62,-15.25 147.36,-15.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="147.2,-18.75 157.2,-15.25 147.2,-11.75 147.2,-18.75"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -0,0 +1,49 @@
<?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 8.0.5 (20230430.1635)
-->
<!-- Title: data_structures::tree_234::Tree234::Traverse Pages: 1 -->
<svg width="220pt" height="57pt"
viewBox="0.00 0.00 220.00 56.50" 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 52.5)">
<title>data_structures::tree_234::Tree234::Traverse</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="In&#45;order traverse.">
<polygon fill="#999999" stroke="#666666" points="122.5,-30.5 0,-30.5 0,0 122.5,0 122.5,-30.5"/>
<text text-anchor="start" x="8" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="61.25" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Traverse</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge2_Node000001_Node000001" class="edge">
<title>Node1&#45;&gt;Node1</title>
<g id="a_edge2_Node000001_Node000001"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M39.28,-30.99C34.79,-40.06 42.12,-48.5 61.25,-48.5 72.01,-48.5 79.04,-45.83 82.33,-41.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="85.89,-42.24 83.22,-31.99 78.92,-41.67 85.89,-42.24"/>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="212,-24.88 158.5,-24.88 158.5,-5.63 212,-5.63 212,-24.88"/>
<text text-anchor="middle" x="185.25" y="-11.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M122.89,-15.25C131.25,-15.25 139.62,-15.25 147.36,-15.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="147.2,-18.75 157.2,-15.25 147.2,-11.75 147.2,-18.75"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -1,5 +1,8 @@
<map id="data_structures::tree_234::Tree234::Traverse" name="data_structures::tree_234::Tree234::Traverse">
<area shape="rect" id="node1" title="In&#45;order traverse the tree, print items." alt="" coords="5,29,169,70"/>
<area shape="rect" id="node2" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a84ab7b4fe7442b5e2eeed8c050bb86bd" title="In&#45;order traverse." alt="" coords="217,29,380,70"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="428,37,499,63"/>
<area shape="rect" id="Node000001" title="In&#45;order traverse the tree, print items." alt="" coords="5,29,169,70"/>
<area shape="rect" id="Node000002" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a84ab7b4fe7442b5e2eeed8c050bb86bd" title="In&#45;order traverse." alt="" coords="217,29,380,70"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="169,47,202,47,202,52,169,52"/>
<area shape="poly" id="edge3_Node000002_Node000002" title=" " alt="" coords="266,29,265,19,270,11,281,5,298,3,317,5,328,12,325,16,315,10,298,8,283,10,274,14,270,20,272,28"/>
<area shape="rect" id="Node000003" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="428,37,499,63"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="381,47,413,47,413,52,381,52"/>
</map>

View File

@@ -1 +1 @@
833f3561408095020ac5e5bbc64a97b1
5756177b9ccf1107bdc758311e006fee

View File

@@ -6,12 +6,22 @@
<!-- Title: data_structures::tree_234::Tree234::Traverse Pages: 1 -->
<svg width="379pt" height="57pt"
viewBox="0.00 0.00 378.50 56.50" 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" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 52.5)">
<title>data_structures::tree_234::Tree234::Traverse</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="In&#45;order traverse the tree, print items.">
<g id="a_Node000001"><a xlink:title="In&#45;order traverse the tree, print items.">
<polygon fill="#999999" stroke="#666666" points="122.5,-30.5 0,-30.5 0,0 122.5,0 122.5,-30.5"/>
<text text-anchor="start" x="8" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="61.25" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Traverse</text>
@@ -19,9 +29,9 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a84ab7b4fe7442b5e2eeed8c050bb86bd" target="_top" xlink:title="In&#45;order traverse.">
<g id="a_Node000002"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a84ab7b4fe7442b5e2eeed8c050bb86bd" target="_top" xlink:title="In&#45;order traverse.">
<polygon fill="white" stroke="#666666" points="281,-30.5 158.5,-30.5 158.5,0 281,0 281,-30.5"/>
<text text-anchor="start" x="166.5" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="219.75" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Traverse</text>
@@ -29,31 +39,55 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M122.76,-15.25C130.83,-15.25 139.17,-15.25 147.41,-15.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="147.15,-18.75 157.15,-15.25 147.15,-11.75 147.15,-18.75"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node2 -->
<g id="edge3" class="edge">
<g id="edge3_Node000002_Node000002" class="edge">
<title>Node2&#45;&gt;Node2</title>
<g id="a_edge3_Node000002_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M197.78,-30.99C193.29,-40.06 200.62,-48.5 219.75,-48.5 230.51,-48.5 237.54,-45.83 240.83,-41.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="244.39,-42.24 241.72,-31.99 237.42,-41.67 244.39,-42.24"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="370.5,-24.88 317,-24.88 317,-5.63 370.5,-5.63 370.5,-24.88"/>
<text text-anchor="middle" x="343.75" y="-11.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M281.39,-15.25C289.75,-15.25 298.12,-15.25 305.86,-15.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="305.7,-18.75 315.7,-15.25 305.7,-11.75 305.7,-18.75"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -0,0 +1,68 @@
<?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 8.0.5 (20230430.1635)
-->
<!-- Title: data_structures::tree_234::Tree234::Traverse Pages: 1 -->
<svg width="379pt" height="57pt"
viewBox="0.00 0.00 378.50 56.50" 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 52.5)">
<title>data_structures::tree_234::Tree234::Traverse</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="In&#45;order traverse the tree, print items.">
<polygon fill="#999999" stroke="#666666" points="122.5,-30.5 0,-30.5 0,0 122.5,0 122.5,-30.5"/>
<text text-anchor="start" x="8" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="61.25" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Traverse</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a84ab7b4fe7442b5e2eeed8c050bb86bd" target="_top" xlink:title="In&#45;order traverse.">
<polygon fill="white" stroke="#666666" points="281,-30.5 158.5,-30.5 158.5,0 281,0 281,-30.5"/>
<text text-anchor="start" x="166.5" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="219.75" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Traverse</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M122.76,-15.25C130.83,-15.25 139.17,-15.25 147.41,-15.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="147.15,-18.75 157.15,-15.25 147.15,-11.75 147.15,-18.75"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node2 -->
<g id="edge3_Node000002_Node000002" class="edge">
<title>Node2&#45;&gt;Node2</title>
<g id="a_edge3_Node000002_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M197.78,-30.99C193.29,-40.06 200.62,-48.5 219.75,-48.5 230.51,-48.5 237.54,-45.83 240.83,-41.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="244.39,-42.24 241.72,-31.99 237.42,-41.67 244.39,-42.24"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="370.5,-24.88 317,-24.88 317,-5.63 370.5,-5.63 370.5,-24.88"/>
<text text-anchor="middle" x="343.75" y="-11.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M281.39,-15.25C289.75,-15.25 298.12,-15.25 305.86,-15.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="305.7,-18.75 315.7,-15.25 305.7,-11.75 305.7,-18.75"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@@ -1,13 +1,24 @@
<map id="data_structures::tree_234::Tree234::InsertPostMerge" name="data_structures::tree_234::Tree234::InsertPostMerge">
<area shape="rect" id="node1" title="A insert implementation of post&#45;merge." alt="" coords="5,135,214,175"/>
<area shape="rect" id="node2" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e" title="Insert item to tree." alt="" coords="262,135,407,175"/>
<area shape="rect" id="node3" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" title="A insert implementation of pre&#45;split." alt="" coords="455,135,646,175"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/memory/unique_ptr/get.html#" title=" " alt="" coords="738,85,872,111"/>
<area shape="rect" id="node5" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" title="Merge node to a not&#45;full target node." alt="" coords="694,135,916,175"/>
<area shape="rect" id="node11" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node." alt="" coords="720,200,890,241"/>
<area shape="rect" id="node6" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" title="Insert item to the proper position of the node and return the position index." alt="" coords="964,73,1119,114"/>
<area shape="rect" id="node9" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" title="Check if node is a full (4&#45;node)" alt="" coords="1198,136,1339,177"/>
<area shape="rect" id="node10" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="968,192,1115,233"/>
<area shape="rect" id="node7" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" title="Check if item is in the node." alt="" coords="1195,5,1343,46"/>
<area shape="rect" id="node8" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" title="Insert a value to the index position." alt="" coords="1167,71,1370,111"/>
<area shape="rect" id="Node000001" title="A insert implementation of post&#45;merge." alt="" coords="5,135,214,175"/>
<area shape="rect" id="Node000002" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e" title="Insert item to tree." alt="" coords="262,135,407,175"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="214,152,247,152,247,158,214,158"/>
<area shape="rect" id="Node000003" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" title="A insert implementation of pre&#45;split." alt="" coords="455,135,646,175"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="407,152,440,152,440,158,407,158"/>
<area shape="rect" id="Node000004" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/memory/unique_ptr/get.html#" title=" " alt="" coords="738,85,872,111"/>
<area shape="poly" id="edge3_Node000003_Node000004" title=" " alt="" coords="643,131,730,112,731,117,645,137"/>
<area shape="rect" id="Node000005" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" title="Merge node to a not&#45;full target node." alt="" coords="694,135,916,175"/>
<area shape="poly" id="edge4_Node000003_Node000005" title=" " alt="" coords="647,152,679,152,679,158,647,158"/>
<area shape="rect" id="Node000011" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node." alt="" coords="720,200,890,241"/>
<area shape="poly" id="edge11_Node000003_Node000011" title=" " alt="" coords="633,173,710,193,708,198,632,179"/>
<area shape="rect" id="Node000006" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" title="Insert item to the proper position of the node and return the position index." alt="" coords="964,73,1119,114"/>
<area shape="poly" id="edge5_Node000005_Node000006" title=" " alt="" coords="885,131,949,115,950,120,887,137"/>
<area shape="rect" id="Node000009" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" title="Check if node is a full (4&#45;node)" alt="" coords="1198,136,1339,177"/>
<area shape="poly" id="edge9_Node000005_Node000009" title=" " alt="" coords="916,153,1183,153,1183,159,916,158"/>
<area shape="rect" id="Node000010" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="968,192,1115,233"/>
<area shape="poly" id="edge10_Node000005_Node000010" title=" " alt="" coords="892,173,955,189,953,194,891,178"/>
<area shape="rect" id="Node000007" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" title="Check if item is in the node." alt="" coords="1195,5,1343,46"/>
<area shape="poly" id="edge6_Node000006_Node000007" title=" " alt="" coords="1111,70,1184,48,1185,53,1113,75"/>
<area shape="rect" id="Node000008" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" title="Insert a value to the index position." alt="" coords="1167,71,1370,111"/>
<area shape="poly" id="edge7_Node000006_Node000008" title=" " alt="" coords="1119,90,1152,90,1152,95,1119,95"/>
<area shape="poly" id="edge8_Node000006_Node000009" title=" " alt="" coords="1118,112,1184,130,1183,135,1117,117"/>
</map>

View File

@@ -1 +1 @@
d99f477275923a345e2e1f9656543bbd
f21f766569699841c7124b147916060b

View File

@@ -5,59 +5,59 @@
-->
<!-- Title: data_structures::tree_234::Tree234::InsertPostMerge Pages: 1 -->
<!--zoomable 185 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="text/javascript"><![CDATA[
var edges = document.getElementsByTagName('g');
if (edges && edges.length) {
for (var i=0;i<edges.length;i++) {
if (edges[i].id.substr(0,4)=='edge') {
edges[i].setAttribute('class','edge');
}
}
}
]]></script>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/></use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/></use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="arrowUp" transform="translate(30 24)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" transform="rotate(90) translate(36 -43)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" transform="rotate(180) translate(-30 -48)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" transform="rotate(270) translate(-36 17)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040"><set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/></use>
</g>
</defs>
<script type="application/ecmascript">
var viewWidth = 1032;
var viewHeight = 185;
var sectionId = 'dynsection-6';
</script>
<script xlink:href="../../svgpan.js"/>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>data_structures::tree_234::Tree234::InsertPostMerge</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="A insert implementation of post&#45;merge.">
<g id="a_Node000001"><a xlink:title="A insert implementation of post&#45;merge.">
<polygon fill="#999999" stroke="#666666" points="156.25,-79.5 0,-79.5 0,-49 156.25,-49 156.25,-79.5"/>
<text text-anchor="start" x="8" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="78.12" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::InsertPostMerge</text>
@@ -65,9 +65,9 @@ var sectionId = 'dynsection-6';
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e" target="_top" xlink:title="Insert item to tree.">
<g id="a_Node000002"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e" target="_top" xlink:title="Insert item to tree.">
<polygon fill="white" stroke="#666666" points="301.25,-79.5 192.25,-79.5 192.25,-49 301.25,-49 301.25,-79.5"/>
<text text-anchor="start" x="200.25" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="246.75" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Insert</text>
@@ -75,15 +75,18 @@ var sectionId = 'dynsection-6';
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M156.58,-64.25C164.76,-64.25 173.02,-64.25 181.03,-64.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="180.78,-67.75 190.78,-64.25 180.78,-60.75 180.78,-67.75"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" target="_top" xlink:title="A insert implementation of pre&#45;split.">
<g id="a_Node000003"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" target="_top" xlink:title="A insert implementation of pre&#45;split.">
<polygon fill="white" stroke="#666666" points="480.75,-79.5 337.25,-79.5 337.25,-49 480.75,-49 480.75,-79.5"/>
<text text-anchor="start" x="345.25" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="409" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::InsertPreSplit</text>
@@ -91,30 +94,36 @@ var sectionId = 'dynsection-6';
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M301.56,-64.25C309.46,-64.25 317.75,-64.25 326.06,-64.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="325.97,-67.75 335.97,-64.25 325.97,-60.75 325.97,-67.75"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html#" xlink:title=" ">
<g id="a_Node000004"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="649.75,-116.88 549.75,-116.88 549.75,-97.62 649.75,-97.62 649.75,-116.88"/>
<text text-anchor="middle" x="599.75" y="-103.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::unique_ptr::get</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000003_Node000004" class="edge">
<title>Node3&#45;&gt;Node4</title>
<g id="a_edge3_Node000003_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M478.94,-79.96C500.28,-84.82 523.49,-90.1 543.75,-94.72"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="542.83,-98.33 553.36,-97.14 544.38,-91.5 542.83,-98.33"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<g id="a_Node000005"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<polygon fill="white" stroke="#666666" points="682.75,-79.5 516.75,-79.5 516.75,-49 682.75,-49 682.75,-79.5"/>
<text text-anchor="start" x="524.75" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="599.75" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::MergeNodeNotFull</text>
@@ -122,15 +131,18 @@ var sectionId = 'dynsection-6';
</g>
</g>
<!-- Node3&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000003_Node000005" class="edge">
<title>Node3&#45;&gt;Node5</title>
<g id="a_edge4_Node000003_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M481.09,-64.25C489.08,-64.25 497.31,-64.25 505.53,-64.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="505.31,-67.75 515.31,-64.25 505.31,-60.75 505.31,-67.75"/>
</a>
</g>
</g>
<!-- Node11 -->
<g id="node11" class="node">
<g id="Node000011" class="node">
<title>Node11</title>
<g id="a_node11"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<g id="a_Node000011"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<polygon fill="white" stroke="#666666" points="663.25,-30.5 536.25,-30.5 536.25,0 663.25,0 663.25,-30.5"/>
<text text-anchor="start" x="544.25" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="599.75" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::SplitNode</text>
@@ -138,15 +150,18 @@ var sectionId = 'dynsection-6';
</g>
</g>
<!-- Node3&#45;&gt;Node11 -->
<g id="edge11" class="edge">
<g id="edge11_Node000003_Node000011" class="edge">
<title>Node3&#45;&gt;Node11</title>
<g id="a_edge11_Node000003_Node000011"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M470.5,-48.54C488.7,-43.82 508.84,-38.59 527.67,-33.7"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="528.47,-36.85 537.27,-30.95 526.71,-30.08 528.47,-36.85"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<g id="a_Node000006"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<polygon fill="white" stroke="#666666" points="835.25,-125.5 718.75,-125.5 718.75,-95 835.25,-95 835.25,-125.5"/>
<text text-anchor="start" x="726.75" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="777" y="-100.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItem</text>
@@ -154,15 +169,18 @@ var sectionId = 'dynsection-6';
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge5_Node000005_Node000006" class="edge">
<title>Node5&#45;&gt;Node6</title>
<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M660.57,-79.95C675.94,-83.99 692.59,-88.36 708.33,-92.49"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="706.96,-96.01 717.52,-95.16 708.74,-89.24 706.96,-96.01"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<g id="a_Node000009"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<polygon fill="white" stroke="#666666" points="1000.5,-78.5 894.5,-78.5 894.5,-48 1000.5,-48 1000.5,-78.5"/>
<text text-anchor="start" x="902.5" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="947.5" y="-53.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::IsFull</text>
@@ -170,15 +188,18 @@ var sectionId = 'dynsection-6';
</g>
</g>
<!-- Node5&#45;&gt;Node9 -->
<g id="edge9" class="edge">
<g id="edge9_Node000005_Node000009" class="edge">
<title>Node5&#45;&gt;Node9</title>
<g id="a_edge9_Node000005_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M683.13,-64.01C744.45,-63.83 826.94,-63.6 883.15,-63.43"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="883.04,-66.93 893.03,-63.4 883.02,-59.93 883.04,-66.93"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<g id="a_Node000010"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="831.88,-36.5 722.12,-36.5 722.12,-6 831.88,-6 831.88,-36.5"/>
<text text-anchor="start" x="730.12" y="-23" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="777" y="-11.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
@@ -186,15 +207,18 @@ var sectionId = 'dynsection-6';
</g>
</g>
<!-- Node5&#45;&gt;Node10 -->
<g id="edge10" class="edge">
<g id="edge10_Node000005_Node000010" class="edge">
<title>Node5&#45;&gt;Node10</title>
<g id="a_edge10_Node000005_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M664.52,-48.6C679.78,-44.86 696.1,-40.86 711.4,-37.1"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="711.93,-40.33 720.81,-34.55 710.26,-33.53 711.93,-40.33"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<g id="a_Node000007"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<polygon fill="white" stroke="#666666" points="1003.12,-176.5 891.88,-176.5 891.88,-146 1003.12,-146 1003.12,-176.5"/>
<text text-anchor="start" x="899.88" y="-163" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="947.5" y="-151.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Contains</text>
@@ -202,15 +226,18 @@ var sectionId = 'dynsection-6';
</g>
</g>
<!-- Node6&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<g id="edge6_Node000006_Node000007" class="edge">
<title>Node6&#45;&gt;Node7</title>
<g id="a_edge6_Node000006_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M829.93,-125.97C847.15,-131.18 866.49,-137.03 884.39,-142.45"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="883.16,-146.04 893.74,-145.58 885.18,-139.34 883.16,-146.04"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<g id="a_Node000008"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<polygon fill="white" stroke="#666666" points="1023.75,-127.5 871.25,-127.5 871.25,-97 1023.75,-97 1023.75,-127.5"/>
<text text-anchor="start" x="879.25" y="-114" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="947.5" y="-102.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItemByIndex</text>
@@ -218,58 +245,58 @@ var sectionId = 'dynsection-6';
</g>
</g>
<!-- Node6&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<g id="edge7_Node000006_Node000008" class="edge">
<title>Node6&#45;&gt;Node8</title>
<g id="a_edge7_Node000006_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M835.52,-110.93C843.41,-111.03 851.64,-111.12 859.91,-111.22"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="859.73,-114.73 869.77,-111.35 859.81,-107.73 859.73,-114.73"/>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node9 -->
<g id="edge8" class="edge">
<g id="edge8_Node000006_Node000009" class="edge">
<title>Node6&#45;&gt;Node9</title>
<g id="a_edge8_Node000006_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M834.11,-94.6C849.97,-90.17 867.34,-85.33 883.58,-80.8"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="884.36,-83.94 893.06,-77.88 882.48,-77.19 884.36,-83.94"/>
</a>
</g>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<use id="arrowup" xlink:href="#arrowUp" x="0" y="0" onmousedown="handlePan(0,-1)"/>
<use id="arrowright" xlink:href="#arrowRight" x="0" y="0" onmousedown="handlePan(1,0)"/>
<use id="arrowdown" xlink:href="#arrowDown" x="0" y="0" onmousedown="handlePan(0,1)"/>
<use id="arrowleft" xlink:href="#arrowLeft" x="0" y="0" onmousedown="handlePan(-1,0)"/>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -9,9 +9,9 @@
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 180.5)">
<title>data_structures::tree_234::Tree234::InsertPostMerge</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="A insert implementation of post&#45;merge.">
<g id="a_Node000001"><a xlink:title="A insert implementation of post&#45;merge.">
<polygon fill="#999999" stroke="#666666" points="156.25,-79.5 0,-79.5 0,-49 156.25,-49 156.25,-79.5"/>
<text text-anchor="start" x="8" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="78.12" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::InsertPostMerge</text>
@@ -19,9 +19,9 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e" target="_top" xlink:title="Insert item to tree.">
<g id="a_Node000002"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e" target="_top" xlink:title="Insert item to tree.">
<polygon fill="white" stroke="#666666" points="301.25,-79.5 192.25,-79.5 192.25,-49 301.25,-49 301.25,-79.5"/>
<text text-anchor="start" x="200.25" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="246.75" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::Insert</text>
@@ -29,15 +29,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M156.58,-64.25C164.76,-64.25 173.02,-64.25 181.03,-64.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="180.78,-67.75 190.78,-64.25 180.78,-60.75 180.78,-67.75"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" target="_top" xlink:title="A insert implementation of pre&#45;split.">
<g id="a_Node000003"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d" target="_top" xlink:title="A insert implementation of pre&#45;split.">
<polygon fill="white" stroke="#666666" points="480.75,-79.5 337.25,-79.5 337.25,-49 480.75,-49 480.75,-79.5"/>
<text text-anchor="start" x="345.25" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="409" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::InsertPreSplit</text>
@@ -45,30 +48,36 @@
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M301.56,-64.25C309.46,-64.25 317.75,-64.25 326.06,-64.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="325.97,-67.75 335.97,-64.25 325.97,-60.75 325.97,-67.75"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html#" xlink:title=" ">
<g id="a_Node000004"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="649.75,-116.88 549.75,-116.88 549.75,-97.62 649.75,-97.62 649.75,-116.88"/>
<text text-anchor="middle" x="599.75" y="-103.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::unique_ptr::get</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000003_Node000004" class="edge">
<title>Node3&#45;&gt;Node4</title>
<g id="a_edge3_Node000003_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M478.94,-79.96C500.28,-84.82 523.49,-90.1 543.75,-94.72"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="542.83,-98.33 553.36,-97.14 544.38,-91.5 542.83,-98.33"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<g id="a_Node000005"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95" target="_top" xlink:title="Merge node to a not&#45;full target node.">
<polygon fill="white" stroke="#666666" points="682.75,-79.5 516.75,-79.5 516.75,-49 682.75,-49 682.75,-79.5"/>
<text text-anchor="start" x="524.75" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="599.75" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::MergeNodeNotFull</text>
@@ -76,15 +85,18 @@
</g>
</g>
<!-- Node3&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000003_Node000005" class="edge">
<title>Node3&#45;&gt;Node5</title>
<g id="a_edge4_Node000003_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M481.09,-64.25C489.08,-64.25 497.31,-64.25 505.53,-64.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="505.31,-67.75 515.31,-64.25 505.31,-60.75 505.31,-67.75"/>
</a>
</g>
</g>
<!-- Node11 -->
<g id="node11" class="node">
<g id="Node000011" class="node">
<title>Node11</title>
<g id="a_node11"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<g id="a_Node000011"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9" target="_top" xlink:title="Split a 4&#45;node to 1 parent and 2 children, and return the parent node.">
<polygon fill="white" stroke="#666666" points="663.25,-30.5 536.25,-30.5 536.25,0 663.25,0 663.25,-30.5"/>
<text text-anchor="start" x="544.25" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="599.75" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::SplitNode</text>
@@ -92,15 +104,18 @@
</g>
</g>
<!-- Node3&#45;&gt;Node11 -->
<g id="edge11" class="edge">
<g id="edge11_Node000003_Node000011" class="edge">
<title>Node3&#45;&gt;Node11</title>
<g id="a_edge11_Node000003_Node000011"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M470.5,-48.54C488.7,-43.82 508.84,-38.59 527.67,-33.7"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="528.47,-36.85 537.27,-30.95 526.71,-30.08 528.47,-36.85"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<g id="a_Node000006"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<polygon fill="white" stroke="#666666" points="835.25,-125.5 718.75,-125.5 718.75,-95 835.25,-95 835.25,-125.5"/>
<text text-anchor="start" x="726.75" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="777" y="-100.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItem</text>
@@ -108,15 +123,18 @@
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge5_Node000005_Node000006" class="edge">
<title>Node5&#45;&gt;Node6</title>
<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M660.57,-79.95C675.94,-83.99 692.59,-88.36 708.33,-92.49"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="706.96,-96.01 717.52,-95.16 708.74,-89.24 706.96,-96.01"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<g id="a_Node000009"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<polygon fill="white" stroke="#666666" points="1000.5,-78.5 894.5,-78.5 894.5,-48 1000.5,-48 1000.5,-78.5"/>
<text text-anchor="start" x="902.5" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="947.5" y="-53.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::IsFull</text>
@@ -124,15 +142,18 @@
</g>
</g>
<!-- Node5&#45;&gt;Node9 -->
<g id="edge9" class="edge">
<g id="edge9_Node000005_Node000009" class="edge">
<title>Node5&#45;&gt;Node9</title>
<g id="a_edge9_Node000005_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M683.13,-64.01C744.45,-63.83 826.94,-63.6 883.15,-63.43"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="883.04,-66.93 893.03,-63.4 883.02,-59.93 883.04,-66.93"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<g id="a_Node000010"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="831.88,-36.5 722.12,-36.5 722.12,-6 831.88,-6 831.88,-36.5"/>
<text text-anchor="start" x="730.12" y="-23" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="777" y="-11.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
@@ -140,15 +161,18 @@
</g>
</g>
<!-- Node5&#45;&gt;Node10 -->
<g id="edge10" class="edge">
<g id="edge10_Node000005_Node000010" class="edge">
<title>Node5&#45;&gt;Node10</title>
<g id="a_edge10_Node000005_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M664.52,-48.6C679.78,-44.86 696.1,-40.86 711.4,-37.1"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="711.93,-40.33 720.81,-34.55 710.26,-33.53 711.93,-40.33"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<g id="a_Node000007"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<polygon fill="white" stroke="#666666" points="1003.12,-176.5 891.88,-176.5 891.88,-146 1003.12,-146 1003.12,-176.5"/>
<text text-anchor="start" x="899.88" y="-163" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="947.5" y="-151.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Contains</text>
@@ -156,15 +180,18 @@
</g>
</g>
<!-- Node6&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<g id="edge6_Node000006_Node000007" class="edge">
<title>Node6&#45;&gt;Node7</title>
<g id="a_edge6_Node000006_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M829.93,-125.97C847.15,-131.18 866.49,-137.03 884.39,-142.45"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="883.16,-146.04 893.74,-145.58 885.18,-139.34 883.16,-146.04"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<g id="a_Node000008"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<polygon fill="white" stroke="#666666" points="1023.75,-127.5 871.25,-127.5 871.25,-97 1023.75,-97 1023.75,-127.5"/>
<text text-anchor="start" x="879.25" y="-114" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="947.5" y="-102.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItemByIndex</text>
@@ -172,16 +199,22 @@
</g>
</g>
<!-- Node6&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<g id="edge7_Node000006_Node000008" class="edge">
<title>Node6&#45;&gt;Node8</title>
<g id="a_edge7_Node000006_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M835.52,-110.93C843.41,-111.03 851.64,-111.12 859.91,-111.22"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="859.73,-114.73 869.77,-111.35 859.81,-107.73 859.73,-114.73"/>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node9 -->
<g id="edge8" class="edge">
<g id="edge8_Node000006_Node000009" class="edge">
<title>Node6&#45;&gt;Node9</title>
<g id="a_edge8_Node000006_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M834.11,-94.6C849.97,-90.17 867.34,-85.33 883.58,-80.8"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="884.36,-83.94 893.06,-77.88 882.48,-77.19 884.36,-83.94"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -1,5 +1,7 @@
<map id="data_structures::tree_234::Tree234::TryLeftRotate" name="data_structures::tree_234::Tree234::TryLeftRotate">
<area shape="rect" id="node1" title="A handy function to try if we can do a left rotate to the target node." alt="" coords="5,39,198,79"/>
<area shape="rect" id="node2" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" title="Check if node is a 2&#45;node." alt="" coords="260,5,405,46"/>
<area shape="rect" id="node3" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e" title="Do the actual left rotate operation." alt="" coords="246,71,419,111"/>
<area shape="rect" id="Node000001" title="A handy function to try if we can do a left rotate to the target node." alt="" coords="5,39,198,79"/>
<area shape="rect" id="Node000002" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" title="Check if node is a 2&#45;node." alt="" coords="260,5,405,46"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="198,42,244,36,245,41,199,48"/>
<area shape="rect" id="Node000003" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e" title="Do the actual left rotate operation." alt="" coords="246,71,419,111"/>
<area shape="poly" id="edge2_Node000001_Node000003" title=" " alt="" coords="199,70,231,74,230,80,198,75"/>
</map>

View File

@@ -1 +1 @@
c8b2fe0355febe0584f57e546adc3e45
fbd3fe83281ab5301e01abc4b25978b0

View File

@@ -6,12 +6,22 @@
<!-- Title: data_structures::tree_234::Tree234::TryLeftRotate Pages: 1 -->
<svg width="318pt" height="88pt"
viewBox="0.00 0.00 318.25 87.50" 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" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 83.5)">
<title>data_structures::tree_234::Tree234::TryLeftRotate</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="A handy function to try if we can do a left rotate to the target node.">
<g id="a_Node000001"><a xlink:title="A handy function to try if we can do a left rotate to the target node.">
<polygon fill="#999999" stroke="#666666" points="144.25,-54.5 0,-54.5 0,-24 144.25,-24 144.25,-54.5"/>
<text text-anchor="start" x="8" y="-41" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="72.12" y="-29.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::TryLeftRotate</text>
@@ -19,9 +29,9 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" target="_top" xlink:title="Check if node is a 2&#45;node.">
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" target="_top" xlink:title="Check if node is a 2&#45;node.">
<polygon fill="white" stroke="#666666" points="299.75,-79.5 190.75,-79.5 190.75,-49 299.75,-49 299.75,-79.5"/>
<text text-anchor="start" x="198.75" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="245.25" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Is2Node</text>
@@ -29,15 +39,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M144.71,-49.71C156.3,-51.4 168.24,-53.15 179.65,-54.81"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="179,-58.4 189.4,-56.38 180.01,-51.47 179,-58.4"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e" target="_top" xlink:title="Do the actual left rotate operation.">
<g id="a_Node000003"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e" target="_top" xlink:title="Do the actual left rotate operation.">
<polygon fill="white" stroke="#666666" points="310.25,-30.5 180.25,-30.5 180.25,0 310.25,0 310.25,-30.5"/>
<text text-anchor="start" x="188.25" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="245.25" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::LeftRotate</text>
@@ -45,10 +58,28 @@
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M144.71,-29.21C152.7,-28.09 160.87,-26.94 168.91,-25.82"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="169.36,-29.15 178.77,-24.29 168.38,-22.22 169.36,-29.15"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -0,0 +1,60 @@
<?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 8.0.5 (20230430.1635)
-->
<!-- Title: data_structures::tree_234::Tree234::TryLeftRotate Pages: 1 -->
<svg width="318pt" height="88pt"
viewBox="0.00 0.00 318.25 87.50" 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 83.5)">
<title>data_structures::tree_234::Tree234::TryLeftRotate</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="A handy function to try if we can do a left rotate to the target node.">
<polygon fill="#999999" stroke="#666666" points="144.25,-54.5 0,-54.5 0,-24 144.25,-24 144.25,-54.5"/>
<text text-anchor="start" x="8" y="-41" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="72.12" y="-29.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::TryLeftRotate</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" target="_top" xlink:title="Check if node is a 2&#45;node.">
<polygon fill="white" stroke="#666666" points="299.75,-79.5 190.75,-79.5 190.75,-49 299.75,-49 299.75,-79.5"/>
<text text-anchor="start" x="198.75" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="245.25" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Is2Node</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M144.71,-49.71C156.3,-51.4 168.24,-53.15 179.65,-54.81"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="179,-58.4 189.4,-56.38 180.01,-51.47 179,-58.4"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e" target="_top" xlink:title="Do the actual left rotate operation.">
<polygon fill="white" stroke="#666666" points="310.25,-30.5 180.25,-30.5 180.25,0 310.25,0 310.25,-30.5"/>
<text text-anchor="start" x="188.25" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="245.25" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::LeftRotate</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M144.71,-29.21C152.7,-28.09 160.87,-26.94 168.91,-25.82"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="169.36,-29.15 178.77,-24.29 168.38,-22.22 169.36,-29.15"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -1,5 +1,7 @@
<map id="data_structures::tree_234::Tree234::GetTreeMaxItem" name="data_structures::tree_234::Tree234::GetTreeMaxItem">
<area shape="rect" id="node1" title="Get the max item of the tree." alt="" coords="5,39,216,79"/>
<area shape="rect" id="node2" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57" title="Get max item (rightmost) in the current node." alt="" coords="283,5,452,46"/>
<area shape="rect" id="node3" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94" title="Get rightmose child of the current node." alt="" coords="264,71,471,111"/>
<area shape="rect" id="Node000001" title="Get the max item of the tree." alt="" coords="5,39,216,79"/>
<area shape="rect" id="Node000002" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57" title="Get max item (rightmost) in the current node." alt="" coords="283,5,452,46"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="216,43,268,36,269,41,217,48"/>
<area shape="rect" id="Node000003" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94" title="Get rightmose child of the current node." alt="" coords="264,71,471,111"/>
<area shape="poly" id="edge2_Node000001_Node000003" title=" " alt="" coords="217,70,249,74,249,79,216,75"/>
</map>

View File

@@ -1 +1 @@
0ab43d44a7a5f28bc3849600567c771f
ab691c0c5776d7178d9a59d8ecf52d7f

View File

@@ -6,12 +6,22 @@
<!-- Title: data_structures::tree_234::Tree234::GetTreeMaxItem Pages: 1 -->
<svg width="357pt" height="88pt"
viewBox="0.00 0.00 357.25 87.50" 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" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 83.5)">
<title>data_structures::tree_234::Tree234::GetTreeMaxItem</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Get the max item of the tree.">
<g id="a_Node000001"><a xlink:title="Get the max item of the tree.">
<polygon fill="#999999" stroke="#666666" points="157.75,-54.5 0,-54.5 0,-24 157.75,-24 157.75,-54.5"/>
<text text-anchor="start" x="8" y="-41" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="78.88" y="-29.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::GetTreeMaxItem</text>
@@ -19,9 +29,9 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57" target="_top" xlink:title="Get max item (rightmost) in the current node.">
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57" target="_top" xlink:title="Get max item (rightmost) in the current node.">
<polygon fill="white" stroke="#666666" points="334.62,-79.5 208.38,-79.5 208.38,-49 334.62,-49 334.62,-79.5"/>
<text text-anchor="start" x="216.38" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="271.5" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetMaxItem</text>
@@ -29,15 +39,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M158.23,-49.53C171.23,-51.23 184.66,-52.99 197.52,-54.68"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="196.79,-58.24 207.16,-56.07 197.7,-51.3 196.79,-58.24"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94" target="_top" xlink:title="Get rightmose child of the current node.">
<g id="a_Node000003"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94" target="_top" xlink:title="Get rightmose child of the current node.">
<polygon fill="white" stroke="#666666" points="349.25,-30.5 193.75,-30.5 193.75,0 349.25,0 349.25,-30.5"/>
<text text-anchor="start" x="201.75" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="271.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetRightmostChild</text>
@@ -45,10 +58,28 @@
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M158.23,-29.38C166.3,-28.37 174.54,-27.33 182.7,-26.3"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="182.88,-29.68 192.37,-24.96 182.01,-22.74 182.88,-29.68"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -0,0 +1,60 @@
<?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 8.0.5 (20230430.1635)
-->
<!-- Title: data_structures::tree_234::Tree234::GetTreeMaxItem Pages: 1 -->
<svg width="357pt" height="88pt"
viewBox="0.00 0.00 357.25 87.50" 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 83.5)">
<title>data_structures::tree_234::Tree234::GetTreeMaxItem</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Get the max item of the tree.">
<polygon fill="#999999" stroke="#666666" points="157.75,-54.5 0,-54.5 0,-24 157.75,-24 157.75,-54.5"/>
<text text-anchor="start" x="8" y="-41" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="78.88" y="-29.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::GetTreeMaxItem</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57" target="_top" xlink:title="Get max item (rightmost) in the current node.">
<polygon fill="white" stroke="#666666" points="334.62,-79.5 208.38,-79.5 208.38,-49 334.62,-49 334.62,-79.5"/>
<text text-anchor="start" x="216.38" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="271.5" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetMaxItem</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M158.23,-49.53C171.23,-51.23 184.66,-52.99 197.52,-54.68"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="196.79,-58.24 207.16,-56.07 197.7,-51.3 196.79,-58.24"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94" target="_top" xlink:title="Get rightmose child of the current node.">
<polygon fill="white" stroke="#666666" points="349.25,-30.5 193.75,-30.5 193.75,0 349.25,0 349.25,-30.5"/>
<text text-anchor="start" x="201.75" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="271.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::GetRightmostChild</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M158.23,-29.38C166.3,-28.37 174.54,-27.33 182.7,-26.3"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="182.88,-29.68 192.37,-24.96 182.01,-22.74 182.88,-29.68"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -1,8 +1,14 @@
<map id="data_structures::tree_234::Tree234::MergeNodeNotFull" name="data_structures::tree_234::Tree234::MergeNodeNotFull">
<area shape="rect" id="node1" title="Merge node to a not&#45;full target node." alt="" coords="5,135,227,175"/>
<area shape="rect" id="node2" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" title="Insert item to the proper position of the node and return the position index." alt="" coords="275,73,430,114"/>
<area shape="rect" id="node5" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" title="Check if node is a full (4&#45;node)" alt="" coords="509,136,650,177"/>
<area shape="rect" id="node6" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="279,192,426,233"/>
<area shape="rect" id="node3" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" title="Check if item is in the node." alt="" coords="506,5,654,46"/>
<area shape="rect" id="node4" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" title="Insert a value to the index position." alt="" coords="478,71,681,111"/>
<area shape="rect" id="Node000001" title="Merge node to a not&#45;full target node." alt="" coords="5,135,227,175"/>
<area shape="rect" id="Node000002" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" title="Insert item to the proper position of the node and return the position index." alt="" coords="275,73,430,114"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="196,131,260,115,261,120,198,137"/>
<area shape="rect" id="Node000005" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" title="Check if node is a full (4&#45;node)" alt="" coords="509,136,650,177"/>
<area shape="poly" id="edge5_Node000001_Node000005" title=" " alt="" coords="227,153,494,153,494,159,227,158"/>
<area shape="rect" id="Node000006" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" title="Set child pointer to the position of index." alt="" coords="279,192,426,233"/>
<area shape="poly" id="edge6_Node000001_Node000006" title=" " alt="" coords="203,173,266,189,264,194,202,178"/>
<area shape="rect" id="Node000003" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" title="Check if item is in the node." alt="" coords="506,5,654,46"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="422,70,495,48,496,53,424,75"/>
<area shape="rect" id="Node000004" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" title="Insert a value to the index position." alt="" coords="478,71,681,111"/>
<area shape="poly" id="edge3_Node000002_Node000004" title=" " alt="" coords="430,90,463,90,463,95,430,95"/>
<area shape="poly" id="edge4_Node000002_Node000005" title=" " alt="" coords="429,112,495,130,494,135,428,117"/>
</map>

View File

@@ -1 +1 @@
a76c2330d655bc62546c32e1ff1b8cfe
e3fcb2130cbbc81b17b50dc3f8127a22

View File

@@ -5,59 +5,59 @@
-->
<!-- Title: data_structures::tree_234::Tree234::MergeNodeNotFull Pages: 1 -->
<!--zoomable 179 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="text/javascript"><![CDATA[
var edges = document.getElementsByTagName('g');
if (edges && edges.length) {
for (var i=0;i<edges.length;i++) {
if (edges[i].id.substr(0,4)=='edge') {
edges[i].setAttribute('class','edge');
}
}
}
]]></script>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/></use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/></use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="arrowUp" transform="translate(30 24)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" transform="rotate(90) translate(36 -43)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" transform="rotate(180) translate(-30 -48)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" transform="rotate(270) translate(-36 17)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040"><set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/></use>
</g>
</defs>
<script type="application/ecmascript">
var viewWidth = 515;
var viewHeight = 179;
var sectionId = 'dynsection-10';
</script>
<script xlink:href="../../svgpan.js"/>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>data_structures::tree_234::Tree234::MergeNodeNotFull</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Merge node to a not&#45;full target node.">
<g id="a_Node000001"><a xlink:title="Merge node to a not&#45;full target node.">
<polygon fill="#999999" stroke="#666666" points="166,-73.5 0,-73.5 0,-43 166,-43 166,-73.5"/>
<text text-anchor="start" x="8" y="-60" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="83" y="-48.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::MergeNodeNotFull</text>
@@ -65,9 +65,9 @@ var sectionId = 'dynsection-10';
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<polygon fill="white" stroke="#666666" points="318.5,-119.5 202,-119.5 202,-89 318.5,-89 318.5,-119.5"/>
<text text-anchor="start" x="210" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="260.25" y="-94.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItem</text>
@@ -75,15 +75,18 @@ var sectionId = 'dynsection-10';
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M143.82,-73.95C159.19,-77.99 175.84,-82.36 191.58,-86.49"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="190.21,-90.01 200.77,-89.16 191.99,-83.24 190.21,-90.01"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<g id="a_Node000005"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<polygon fill="white" stroke="#666666" points="483.75,-72.5 377.75,-72.5 377.75,-42 483.75,-42 483.75,-72.5"/>
<text text-anchor="start" x="385.75" y="-59" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="430.75" y="-47.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::IsFull</text>
@@ -91,15 +94,18 @@ var sectionId = 'dynsection-10';
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge5" class="edge">
<g id="edge5_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge5_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M166.38,-58.01C227.7,-57.83 310.19,-57.6 366.4,-57.43"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="366.29,-60.93 376.28,-57.4 366.27,-53.93 366.29,-60.93"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<g id="a_Node000006"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="315.12,-30.5 205.38,-30.5 205.38,0 315.12,0 315.12,-30.5"/>
<text text-anchor="start" x="213.38" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="260.25" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
@@ -107,15 +113,18 @@ var sectionId = 'dynsection-10';
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge6" class="edge">
<g id="edge6_Node000001_Node000006" class="edge">
<title>Node1&#45;&gt;Node6</title>
<g id="a_edge6_Node000001_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M147.77,-42.6C163.03,-38.86 179.35,-34.86 194.65,-31.1"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="195.18,-34.33 204.06,-28.55 193.51,-27.53 195.18,-34.33"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<g id="a_Node000003"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<polygon fill="white" stroke="#666666" points="486.38,-170.5 375.12,-170.5 375.12,-140 486.38,-140 486.38,-170.5"/>
<text text-anchor="start" x="383.12" y="-157" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="430.75" y="-145.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Contains</text>
@@ -123,15 +132,18 @@ var sectionId = 'dynsection-10';
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M313.18,-119.97C330.4,-125.18 349.74,-131.03 367.64,-136.45"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="366.41,-140.04 376.99,-139.58 368.43,-133.34 366.41,-140.04"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<g id="a_Node000004"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<polygon fill="white" stroke="#666666" points="507,-121.5 354.5,-121.5 354.5,-91 507,-91 507,-121.5"/>
<text text-anchor="start" x="362.5" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="430.75" y="-96.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItemByIndex</text>
@@ -139,58 +151,58 @@ var sectionId = 'dynsection-10';
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000002_Node000004" class="edge">
<title>Node2&#45;&gt;Node4</title>
<g id="a_edge3_Node000002_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M318.77,-104.93C326.66,-105.03 334.89,-105.12 343.16,-105.22"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="342.98,-108.73 353.02,-105.35 343.06,-101.73 342.98,-108.73"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000002_Node000005" class="edge">
<title>Node2&#45;&gt;Node5</title>
<g id="a_edge4_Node000002_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M317.36,-88.6C333.22,-84.17 350.59,-79.33 366.83,-74.8"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="367.61,-77.94 376.31,-71.88 365.73,-71.19 367.61,-77.94"/>
</a>
</g>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<use id="arrowup" xlink:href="#arrowUp" x="0" y="0" onmousedown="handlePan(0,-1)"/>
<use id="arrowright" xlink:href="#arrowRight" x="0" y="0" onmousedown="handlePan(1,0)"/>
<use id="arrowdown" xlink:href="#arrowDown" x="0" y="0" onmousedown="handlePan(0,1)"/>
<use id="arrowleft" xlink:href="#arrowLeft" x="0" y="0" onmousedown="handlePan(-1,0)"/>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -9,9 +9,9 @@
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 174.5)">
<title>data_structures::tree_234::Tree234::MergeNodeNotFull</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Merge node to a not&#45;full target node.">
<g id="a_Node000001"><a xlink:title="Merge node to a not&#45;full target node.">
<polygon fill="#999999" stroke="#666666" points="166,-73.5 0,-73.5 0,-43 166,-43 166,-73.5"/>
<text text-anchor="start" x="8" y="-60" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="83" y="-48.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::MergeNodeNotFull</text>
@@ -19,9 +19,9 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb" target="_top" xlink:title="Insert item to the proper position of the node and return the position index.">
<polygon fill="white" stroke="#666666" points="318.5,-119.5 202,-119.5 202,-89 318.5,-89 318.5,-119.5"/>
<text text-anchor="start" x="210" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="260.25" y="-94.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItem</text>
@@ -29,15 +29,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M143.82,-73.95C159.19,-77.99 175.84,-82.36 191.58,-86.49"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="190.21,-90.01 200.77,-89.16 191.99,-83.24 190.21,-90.01"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<g id="a_Node000005"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd" target="_top" xlink:title="Check if node is a full (4&#45;node)">
<polygon fill="white" stroke="#666666" points="483.75,-72.5 377.75,-72.5 377.75,-42 483.75,-42 483.75,-72.5"/>
<text text-anchor="start" x="385.75" y="-59" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="430.75" y="-47.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::IsFull</text>
@@ -45,15 +48,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge5" class="edge">
<g id="edge5_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge5_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M166.38,-58.01C227.7,-57.83 310.19,-57.6 366.4,-57.43"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="366.29,-60.93 376.28,-57.4 366.27,-53.93 366.29,-60.93"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<g id="a_Node000006"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74" target="_top" xlink:title="Set child pointer to the position of index.">
<polygon fill="white" stroke="#666666" points="315.12,-30.5 205.38,-30.5 205.38,0 315.12,0 315.12,-30.5"/>
<text text-anchor="start" x="213.38" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="260.25" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::SetChild</text>
@@ -61,15 +67,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge6" class="edge">
<g id="edge6_Node000001_Node000006" class="edge">
<title>Node1&#45;&gt;Node6</title>
<g id="a_edge6_Node000001_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M147.77,-42.6C163.03,-38.86 179.35,-34.86 194.65,-31.1"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="195.18,-34.33 204.06,-28.55 193.51,-27.53 195.18,-34.33"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<g id="a_Node000003"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f" target="_top" xlink:title="Check if item is in the node.">
<polygon fill="white" stroke="#666666" points="486.38,-170.5 375.12,-170.5 375.12,-140 486.38,-140 486.38,-170.5"/>
<text text-anchor="start" x="383.12" y="-157" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="430.75" y="-145.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Contains</text>
@@ -77,15 +86,18 @@
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M313.18,-119.97C330.4,-125.18 349.74,-131.03 367.64,-136.45"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="366.41,-140.04 376.99,-139.58 368.43,-133.34 366.41,-140.04"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<g id="a_Node000004"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956" target="_top" xlink:title="Insert a value to the index position.">
<polygon fill="white" stroke="#666666" points="507,-121.5 354.5,-121.5 354.5,-91 507,-91 507,-121.5"/>
<text text-anchor="start" x="362.5" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="430.75" y="-96.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::InsertItemByIndex</text>
@@ -93,16 +105,22 @@
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000002_Node000004" class="edge">
<title>Node2&#45;&gt;Node4</title>
<g id="a_edge3_Node000002_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M318.77,-104.93C326.66,-105.03 334.89,-105.12 343.16,-105.22"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="342.98,-108.73 353.02,-105.35 343.06,-101.73 342.98,-108.73"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000002_Node000005" class="edge">
<title>Node2&#45;&gt;Node5</title>
<g id="a_edge4_Node000002_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M317.36,-88.6C333.22,-84.17 350.59,-79.33 366.83,-74.8"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="367.61,-77.94 376.31,-71.88 365.73,-71.19 367.61,-77.94"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@@ -1,5 +1,7 @@
<map id="data_structures::tree_234::Tree234::TryRightRotate" name="data_structures::tree_234::Tree234::TryRightRotate">
<area shape="rect" id="node1" title="A handy function to try if we can do a right rotate to the target node." alt="" coords="5,39,207,79"/>
<area shape="rect" id="node2" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" title="Check if node is a 2&#45;node." alt="" coords="273,5,419,46"/>
<area shape="rect" id="node3" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9" title="Do the actual right rotate operation." alt="" coords="255,71,437,111"/>
<area shape="rect" id="Node000001" title="A handy function to try if we can do a right rotate to the target node." alt="" coords="5,39,207,79"/>
<area shape="rect" id="Node000002" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" title="Check if node is a 2&#45;node." alt="" coords="273,5,419,46"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="207,42,258,35,259,40,208,48"/>
<area shape="rect" id="Node000003" href="$d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9" title="Do the actual right rotate operation." alt="" coords="255,71,437,111"/>
<area shape="poly" id="edge2_Node000001_Node000003" title=" " alt="" coords="208,70,240,74,240,80,207,75"/>
</map>

View File

@@ -1 +1 @@
50a76ce020715371240048028884b6ed
b9338704eef8044ca352036ace7081fb

View File

@@ -6,12 +6,22 @@
<!-- Title: data_structures::tree_234::Tree234::TryRightRotate Pages: 1 -->
<svg width="332pt" height="88pt"
viewBox="0.00 0.00 331.75 87.50" 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" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 83.5)">
<title>data_structures::tree_234::Tree234::TryRightRotate</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="A handy function to try if we can do a right rotate to the target node.">
<g id="a_Node000001"><a xlink:title="A handy function to try if we can do a right rotate to the target node.">
<polygon fill="#999999" stroke="#666666" points="151,-54.5 0,-54.5 0,-24 151,-24 151,-54.5"/>
<text text-anchor="start" x="8" y="-41" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="75.5" y="-29.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::TryRightRotate</text>
@@ -19,9 +29,9 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" target="_top" xlink:title="Check if node is a 2&#45;node.">
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" target="_top" xlink:title="Check if node is a 2&#45;node.">
<polygon fill="white" stroke="#666666" points="309.88,-79.5 200.88,-79.5 200.88,-49 309.88,-49 309.88,-79.5"/>
<text text-anchor="start" x="208.88" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="255.38" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Is2Node</text>
@@ -29,15 +39,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M151.42,-49.78C164.2,-51.58 177.37,-53.43 189.85,-55.18"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="189.22,-58.77 199.61,-56.69 190.19,-51.84 189.22,-58.77"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9" target="_top" xlink:title="Do the actual right rotate operation.">
<g id="a_Node000003"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9" target="_top" xlink:title="Do the actual right rotate operation.">
<polygon fill="white" stroke="#666666" points="323.75,-30.5 187,-30.5 187,0 323.75,0 323.75,-30.5"/>
<text text-anchor="start" x="195" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="255.38" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::RightRotate</text>
@@ -45,10 +58,28 @@
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M151.42,-29.14C159.54,-28.05 167.82,-26.93 175.98,-25.83"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="176.17,-29.2 185.61,-24.39 175.24,-22.26 176.17,-29.2"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -0,0 +1,60 @@
<?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 8.0.5 (20230430.1635)
-->
<!-- Title: data_structures::tree_234::Tree234::TryRightRotate Pages: 1 -->
<svg width="332pt" height="88pt"
viewBox="0.00 0.00 331.75 87.50" 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 83.5)">
<title>data_structures::tree_234::Tree234::TryRightRotate</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="A handy function to try if we can do a right rotate to the target node.">
<polygon fill="#999999" stroke="#666666" points="151,-54.5 0,-54.5 0,-24 151,-24 151,-54.5"/>
<text text-anchor="start" x="8" y="-41" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="75.5" y="-29.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::TryRightRotate</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631" target="_top" xlink:title="Check if node is a 2&#45;node.">
<polygon fill="white" stroke="#666666" points="309.88,-79.5 200.88,-79.5 200.88,-49 309.88,-49 309.88,-79.5"/>
<text text-anchor="start" x="208.88" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="255.38" y="-54.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node::Is2Node</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M151.42,-49.78C164.2,-51.58 177.37,-53.43 189.85,-55.18"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="189.22,-58.77 199.61,-56.69 190.19,-51.84 189.22,-58.77"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a xlink:href="../../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9" target="_top" xlink:title="Do the actual right rotate operation.">
<polygon fill="white" stroke="#666666" points="323.75,-30.5 187,-30.5 187,0 323.75,0 323.75,-30.5"/>
<text text-anchor="start" x="195" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
<text text-anchor="middle" x="255.38" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Tree234::RightRotate</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M151.42,-29.14C159.54,-28.05 167.82,-26.93 175.98,-25.83"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="176.17,-29.2 185.61,-24.39 175.24,-22.26 176.17,-29.2"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB