blog/files/algorithms/rb-trees/rules/rb_light.svg

260 lines
14 KiB
XML
Raw Permalink Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: %3 Pages: 1 -->
<svg width="674pt" height="404pt"
viewBox="0.00 0.00 674.00 404.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 400)">
<title>%3</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-400 670,-400 670,4 -4,4"/>
<!-- Node(value=3, rank=2) -->
<g id="node1" class="node">
<title>Node(value=3, rank=2)</title>
<ellipse fill="none" stroke="black" cx="279" cy="-378" rx="27" ry="18"/>
<text text-anchor="middle" x="279" y="-374.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">3</text>
</g>
<!-- Node(value=1, rank=1) -->
<g id="node2" class="node">
<title>Node(value=1, rank=1)</title>
<ellipse fill="none" stroke="black" cx="225" cy="-306" rx="27" ry="18"/>
<text text-anchor="middle" x="225" y="-302.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">1</text>
</g>
<!-- Node(value=3, rank=2)&#45;&gt;Node(value=1, rank=1) -->
<g id="edge1" class="edge">
<title>Node(value=3, rank=2)&#45;&gt;Node(value=1, rank=1)</title>
<path fill="none" stroke="black" d="M267.02,-361.46C260.02,-352.4 251.06,-340.79 243.21,-330.61"/>
<polygon fill="black" stroke="black" points="245.83,-328.27 236.95,-322.49 240.29,-332.55 245.83,-328.27"/>
</g>
<!-- Node(value=5, rank=1) -->
<g id="node7" class="node">
<title>Node(value=5, rank=1)</title>
<ellipse fill="none" stroke="black" cx="333" cy="-306" rx="27" ry="18"/>
<text text-anchor="middle" x="333" y="-302.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">5</text>
</g>
<!-- Node(value=3, rank=2)&#45;&gt;Node(value=5, rank=1) -->
<g id="edge4" class="edge">
<title>Node(value=3, rank=2)&#45;&gt;Node(value=5, rank=1)</title>
<path fill="none" stroke="black" d="M290.98,-361.46C297.98,-352.4 306.94,-340.79 314.79,-330.61"/>
<polygon fill="black" stroke="black" points="317.71,-332.55 321.05,-322.49 312.17,-328.27 317.71,-332.55"/>
</g>
<!-- Node(value=0, rank=0) -->
<g id="node5" class="node">
<title>Node(value=0, rank=0)</title>
<ellipse fill="none" stroke="black" cx="99" cy="-234" rx="27" ry="18"/>
<text text-anchor="middle" x="99" y="-230.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">0</text>
</g>
<!-- Node(value=1, rank=1)&#45;&gt;Node(value=0, rank=0) -->
<g id="edge2" class="edge">
<title>Node(value=1, rank=1)&#45;&gt;Node(value=0, rank=0)</title>
<path fill="none" stroke="black" d="M204.76,-293.75C184,-282.22 151.52,-264.18 128.02,-251.12"/>
<polygon fill="black" stroke="black" points="129.64,-248.02 119.19,-246.22 126.24,-254.13 129.64,-248.02"/>
</g>
<!-- Node(value=2, rank=0) -->
<g id="node6" class="node">
<title>Node(value=2, rank=0)</title>
<ellipse fill="none" stroke="black" cx="225" cy="-234" rx="27" ry="18"/>
<text text-anchor="middle" x="225" y="-230.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">2</text>
</g>
<!-- Node(value=1, rank=1)&#45;&gt;Node(value=2, rank=0) -->
<g id="edge3" class="edge">
<title>Node(value=1, rank=1)&#45;&gt;Node(value=2, rank=0)</title>
<path fill="none" stroke="black" d="M225,-287.7C225,-279.98 225,-270.71 225,-262.11"/>
<polygon fill="black" stroke="black" points="228.5,-262.1 225,-252.1 221.5,-262.1 228.5,-262.1"/>
</g>
<!-- Node(value=4, rank=0) -->
<g id="node3" class="node">
<title>Node(value=4, rank=0)</title>
<ellipse fill="none" stroke="black" cx="333" cy="-234" rx="27" ry="18"/>
<text text-anchor="middle" x="333" y="-230.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">4</text>
</g>
<!-- nil6 -->
<g id="node15" class="node">
<title>nil6</title>
<ellipse fill="none" stroke="black" cx="315" cy="-162" rx="27" ry="18"/>
<text text-anchor="middle" x="315" y="-158.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">nil</text>
</g>
<!-- Node(value=4, rank=0)&#45;&gt;nil6 -->
<g id="edge15" class="edge">
<title>Node(value=4, rank=0)&#45;&gt;nil6</title>
<path fill="none" stroke="black" d="M328.64,-216.05C326.61,-208.14 324.14,-198.54 321.86,-189.69"/>
<polygon fill="black" stroke="black" points="325.2,-188.6 319.32,-179.79 318.42,-190.35 325.2,-188.6"/>
</g>
<!-- nil7 -->
<g id="node16" class="node">
<title>nil7</title>
<ellipse fill="none" stroke="black" cx="387" cy="-162" rx="27" ry="18"/>
<text text-anchor="middle" x="387" y="-158.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">nil</text>
</g>
<!-- Node(value=4, rank=0)&#45;&gt;nil7 -->
<g id="edge16" class="edge">
<title>Node(value=4, rank=0)&#45;&gt;nil7</title>
<path fill="none" stroke="black" d="M344.98,-217.46C351.98,-208.4 360.94,-196.79 368.79,-186.61"/>
<polygon fill="black" stroke="black" points="371.71,-188.55 375.05,-178.49 366.17,-184.27 371.71,-188.55"/>
</g>
<!-- Node(value=7, rank=1) -->
<g id="node4" class="node">
<title>Node(value=7, rank=1)</title>
<ellipse fill="none" stroke="red" cx="459" cy="-234" rx="27" ry="18"/>
<text text-anchor="middle" x="459" y="-230.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">7</text>
</g>
<!-- Node(value=6, rank=0) -->
<g id="node8" class="node">
<title>Node(value=6, rank=0)</title>
<ellipse fill="none" stroke="black" cx="459" cy="-162" rx="27" ry="18"/>
<text text-anchor="middle" x="459" y="-158.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">6</text>
</g>
<!-- Node(value=7, rank=1)&#45;&gt;Node(value=6, rank=0) -->
<g id="edge7" class="edge">
<title>Node(value=7, rank=1)&#45;&gt;Node(value=6, rank=0)</title>
<path fill="none" stroke="black" d="M459,-215.7C459,-207.98 459,-198.71 459,-190.11"/>
<polygon fill="black" stroke="black" points="462.5,-190.1 459,-180.1 455.5,-190.1 462.5,-190.1"/>
</g>
<!-- Node(value=8, rank=0) -->
<g id="node9" class="node">
<title>Node(value=8, rank=0)</title>
<ellipse fill="none" stroke="black" cx="531" cy="-162" rx="27" ry="18"/>
<text text-anchor="middle" x="531" y="-158.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">8</text>
</g>
<!-- Node(value=7, rank=1)&#45;&gt;Node(value=8, rank=0) -->
<g id="edge8" class="edge">
<title>Node(value=7, rank=1)&#45;&gt;Node(value=8, rank=0)</title>
<path fill="none" stroke="black" d="M473.57,-218.83C483.75,-208.94 497.52,-195.55 509.03,-184.36"/>
<polygon fill="black" stroke="black" points="511.47,-186.87 516.2,-177.38 506.59,-181.85 511.47,-186.87"/>
</g>
<!-- nil2 -->
<g id="node11" class="node">
<title>nil2</title>
<ellipse fill="none" stroke="black" cx="27" cy="-162" rx="27" ry="18"/>
<text text-anchor="middle" x="27" y="-158.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">nil</text>
</g>
<!-- Node(value=0, rank=0)&#45;&gt;nil2 -->
<g id="edge11" class="edge">
<title>Node(value=0, rank=0)&#45;&gt;nil2</title>
<path fill="none" stroke="black" d="M84.43,-218.83C74.25,-208.94 60.48,-195.55 48.97,-184.36"/>
<polygon fill="black" stroke="black" points="51.41,-181.85 41.8,-177.38 46.53,-186.87 51.41,-181.85"/>
</g>
<!-- nil3 -->
<g id="node12" class="node">
<title>nil3</title>
<ellipse fill="none" stroke="black" cx="99" cy="-162" rx="27" ry="18"/>
<text text-anchor="middle" x="99" y="-158.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">nil</text>
</g>
<!-- Node(value=0, rank=0)&#45;&gt;nil3 -->
<g id="edge12" class="edge">
<title>Node(value=0, rank=0)&#45;&gt;nil3</title>
<path fill="none" stroke="black" d="M99,-215.7C99,-207.98 99,-198.71 99,-190.11"/>
<polygon fill="black" stroke="black" points="102.5,-190.1 99,-180.1 95.5,-190.1 102.5,-190.1"/>
</g>
<!-- nil4 -->
<g id="node13" class="node">
<title>nil4</title>
<ellipse fill="none" stroke="black" cx="171" cy="-162" rx="27" ry="18"/>
<text text-anchor="middle" x="171" y="-158.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">nil</text>
</g>
<!-- Node(value=2, rank=0)&#45;&gt;nil4 -->
<g id="edge13" class="edge">
<title>Node(value=2, rank=0)&#45;&gt;nil4</title>
<path fill="none" stroke="black" d="M213.02,-217.46C206.02,-208.4 197.06,-196.79 189.21,-186.61"/>
<polygon fill="black" stroke="black" points="191.83,-184.27 182.95,-178.49 186.29,-188.55 191.83,-184.27"/>
</g>
<!-- nil5 -->
<g id="node14" class="node">
<title>nil5</title>
<ellipse fill="none" stroke="black" cx="243" cy="-162" rx="27" ry="18"/>
<text text-anchor="middle" x="243" y="-158.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">nil</text>
</g>
<!-- Node(value=2, rank=0)&#45;&gt;nil5 -->
<g id="edge14" class="edge">
<title>Node(value=2, rank=0)&#45;&gt;nil5</title>
<path fill="none" stroke="black" d="M229.36,-216.05C231.39,-208.14 233.86,-198.54 236.14,-189.69"/>
<polygon fill="black" stroke="black" points="239.58,-190.35 238.68,-179.79 232.8,-188.6 239.58,-190.35"/>
</g>
<!-- Node(value=5, rank=1)&#45;&gt;Node(value=4, rank=0) -->
<g id="edge5" class="edge">
<title>Node(value=5, rank=1)&#45;&gt;Node(value=4, rank=0)</title>
<path fill="none" stroke="black" d="M333,-287.7C333,-279.98 333,-270.71 333,-262.11"/>
<polygon fill="black" stroke="black" points="336.5,-262.1 333,-252.1 329.5,-262.1 336.5,-262.1"/>
</g>
<!-- Node(value=5, rank=1)&#45;&gt;Node(value=7, rank=1) -->
<g id="edge6" class="edge">
<title>Node(value=5, rank=1)&#45;&gt;Node(value=7, rank=1)</title>
<path fill="none" stroke="red" d="M353.24,-293.75C374,-282.22 406.48,-264.18 429.98,-251.12"/>
<polygon fill="red" stroke="red" points="431.76,-254.13 438.81,-246.22 428.36,-248.02 431.76,-254.13"/>
</g>
<!-- nil8 -->
<g id="node17" class="node">
<title>nil8</title>
<ellipse fill="none" stroke="black" cx="387" cy="-90" rx="27" ry="18"/>
<text text-anchor="middle" x="387" y="-86.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">nil</text>
</g>
<!-- Node(value=6, rank=0)&#45;&gt;nil8 -->
<g id="edge17" class="edge">
<title>Node(value=6, rank=0)&#45;&gt;nil8</title>
<path fill="none" stroke="black" d="M444.43,-146.83C434.25,-136.94 420.48,-123.55 408.97,-112.36"/>
<polygon fill="black" stroke="black" points="411.41,-109.85 401.8,-105.38 406.53,-114.87 411.41,-109.85"/>
</g>
<!-- nil9 -->
<g id="node18" class="node">
<title>nil9</title>
<ellipse fill="none" stroke="black" cx="459" cy="-90" rx="27" ry="18"/>
<text text-anchor="middle" x="459" y="-86.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">nil</text>
</g>
<!-- Node(value=6, rank=0)&#45;&gt;nil9 -->
<g id="edge18" class="edge">
<title>Node(value=6, rank=0)&#45;&gt;nil9</title>
<path fill="none" stroke="black" d="M459,-143.7C459,-135.98 459,-126.71 459,-118.11"/>
<polygon fill="black" stroke="black" points="462.5,-118.1 459,-108.1 455.5,-118.1 462.5,-118.1"/>
</g>
<!-- nil1 -->
<g id="node10" class="node">
<title>nil1</title>
<ellipse fill="none" stroke="black" cx="531" cy="-90" rx="27" ry="18"/>
<text text-anchor="middle" x="531" y="-86.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">nil</text>
</g>
<!-- Node(value=8, rank=0)&#45;&gt;nil1 -->
<g id="edge9" class="edge">
<title>Node(value=8, rank=0)&#45;&gt;nil1</title>
<path fill="none" stroke="black" d="M531,-143.7C531,-135.98 531,-126.71 531,-118.11"/>
<polygon fill="black" stroke="black" points="534.5,-118.1 531,-108.1 527.5,-118.1 534.5,-118.1"/>
</g>
<!-- Node(value=9, rank=0) -->
<g id="node21" class="node">
<title>Node(value=9, rank=0)</title>
<ellipse fill="none" stroke="red" cx="603" cy="-90" rx="27" ry="18"/>
<text text-anchor="middle" x="603" y="-86.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">9</text>
</g>
<!-- Node(value=8, rank=0)&#45;&gt;Node(value=9, rank=0) -->
<g id="edge10" class="edge">
<title>Node(value=8, rank=0)&#45;&gt;Node(value=9, rank=0)</title>
<path fill="none" stroke="red" d="M545.57,-146.83C555.75,-136.94 569.52,-123.55 581.03,-112.36"/>
<polygon fill="red" stroke="red" points="583.47,-114.87 588.2,-105.38 578.59,-109.85 583.47,-114.87"/>
</g>
<!-- nil10 -->
<g id="node19" class="node">
<title>nil10</title>
<ellipse fill="none" stroke="black" cx="567" cy="-18" rx="27" ry="18"/>
<text text-anchor="middle" x="567" y="-14.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">nil</text>
</g>
<!-- nil11 -->
<g id="node20" class="node">
<title>nil11</title>
<ellipse fill="none" stroke="black" cx="639" cy="-18" rx="27" ry="18"/>
<text text-anchor="middle" x="639" y="-14.3" font-family="'Cascadia Code PL', 'JetBrains Mono', 'Iosevka', 'Fira Code', 'Hack', monospace" font-size="14.00">nil</text>
</g>
<!-- Node(value=9, rank=0)&#45;&gt;nil10 -->
<g id="edge19" class="edge">
<title>Node(value=9, rank=0)&#45;&gt;nil10</title>
<path fill="none" stroke="black" d="M594.65,-72.76C590.29,-64.28 584.85,-53.71 579.96,-44.2"/>
<polygon fill="black" stroke="black" points="582.99,-42.44 575.3,-35.15 576.77,-45.64 582.99,-42.44"/>
</g>
<!-- Node(value=9, rank=0)&#45;&gt;nil11 -->
<g id="edge20" class="edge">
<title>Node(value=9, rank=0)&#45;&gt;nil11</title>
<path fill="none" stroke="black" d="M611.35,-72.76C615.71,-64.28 621.15,-53.71 626.04,-44.2"/>
<polygon fill="black" stroke="black" points="629.23,-45.64 630.7,-35.15 623.01,-42.44 629.23,-45.64"/>
</g>
</g>
</svg>