Merge branch 'master' of git.odin.cse.buffalo.edu:ODIn/Website

pull/2/head
Oliver Kennedy 2022-10-24 14:03:14 -04:00
commit 5ee8cf1d87
Signed by: okennedy
GPG Key ID: 3E5F9B3ABD3FDB60
9 changed files with 4149 additions and 5 deletions

View File

@ -378,25 +378,26 @@ schedule:
- date: 10/24/22
topic: Heaps
dow: Mon
section_b:
slides: slide/22b-Heaps.html
- date: 10/26/22
topic: Trees
dow: Wed
- date: 10/28/22
topic: Binary Search Trees, Tree Iteration
due: PA3-Tests
dow: Fri
- week: 10
lectures:
- date: 10/31/22
topic: Balanced Trees (AVL)
dow: Mon
due: WA2
- date: 11/02/22
topic: Balanced Trees (Red-Black)
dow: Wed
- date: 11/04/22
topic: Balanced Trees (contd...)
dow: Fri
due: PA3
- week: 11
lectures:
- date: 11/07/22
@ -412,10 +413,10 @@ schedule:
- date: 11/11/22
special: Resign Deadline
dow: Fri
due: WA2
- week: 12
lectures:
- date: 11/14/22
due: PA3-Tests
topic: Hash Table Analysis
dow: Mon
- date: 11/16/22
@ -428,6 +429,7 @@ schedule:
- week: 13
lectures:
- date: 11/21/22
due: PA3
topic: Bloom Filters
dow: Mon
- date: 11/23/22
@ -436,7 +438,6 @@ schedule:
- date: 11/25/22
special: "No Class: Fall Recess"
dow: Fri
due: PA4-Tests
- week: 14
lectures:
- date: 11/28/22
@ -446,12 +447,12 @@ schedule:
topic: Secondary Storage (B+Trees)
dow: Wed
- date: 12/02/22
due: PA4
topic: Buffer / Advanced Data Structures
dow: Fri
- week: 15
lectures:
- date: 12/05/22
due: PA4
topic: Wrap-Up / Review
dow: Mon
- date: 12/07/22

View File

@ -0,0 +1,455 @@
---
template: templates/cse250_2022_slides.erb
title: Priority Queues, Heaps
date: Oct 24, 2022
textbook: Ch. 18
cat: graphics/22b/cat.png
---
<section>
<h2>Priority Queues</h2>
</section>
<section>
<h4 class="slide_title">PriorityQueue[A <: Ordering]</h4>
<dl>
<dt>enqueue(v: A): Unit</dt>
<dd>Insert a value $v$ into the priority queue.</dd>
<dt>dequeue: A</dt>
<dd>Remove the greatest element in the priority queue.</dd>
<dt>head: A</dt>
<dd>Peek at the greatest element in the priority queue.</dd>
</dl>
</section>
<section>
<h4 class="slide_title">Priority Queues</h4>
<table>
<tr>
<th>Operation</th>
<th>Lazy</th>
<th>Proactive</th>
</tr>
<tr>
<td>enqueue</td>
<td>$O(1)$</td>
<td>$O(n)$</td>
</tr>
<tr>
<td>dequeue</td>
<td>$O(n)$</td>
<td>$O(1)$</td>
</tr>
<tr>
<td>head</td>
<td>$O(n)$</td>
<td>$O(1)$</td>
</tr>
</table>
<p class="fragment">Can we do better?</p>
</section>
<section>
<h4 class="slide_title">Priority Queues</h4>
<dl>
<dt>Lazy</dt>
<dd>Fast Enqueue, Slow Dequeue</dd>
<dt>Proactive</dt>
<dd>Slow Enqueue, Fast Dequeue</dd>
<dt>???</dt>
<dd>Fast(-ish) Enqueue, Fast(-ish) Dequeue</dd>
</dl>
</section>
<section>
<p><b>Idea: </b> Keep the priority queue "kinda" sorted.</p>
<p class="fragment">Larger items tend to be closer to the front of the list. The closer we are to the front of the list, the more sorted it gets.</p>
</section>
<section>
<h4 class="slide_title">Binary Heaps</h4>
<p><b>Challenge: </b> How do we keep track of which elements are still sorted?</p>
</section>
<section>
<h4 class="slide_title">Binary Heaps</h4>
<p><b>Idea: </b> Organize the priority queue as a tree</p>
<p class="fragment"><b>Directed: </b> A directed edge means "≥"</p>
</section>
<section>
<h4 class="slide_title">Trees</h4>
<dl style="font-size: 80%">
<dt><u>Child</u></dt>
<dd>An adjacent node connected by an out-edge</dd>
<dt><u>Leaf</u></dt>
<dd>A node with no children</dd>
<dt><u>Depth</u> of a node</dt>
<dd>The number of edges from the root to the node</dd>
<dt><u>Depth</u> of a tree</dt>
<dd>The maximum depth of any node in the tree</dd>
<dt><u>Level</u> of a node</dt>
<dd>The depth + 1</dd>
</dl>
</section>
<section>
<h4 class="slide_title">Binary Heaps</h4>
<p>Organize the priority queue as a tree</p>
<div style="text-align: left;">
<p><b>Directed: </b> A directed edge means "≥"</p>
<p class="fragment"><b>Binary: </b> Max out-degree of 2 (Easy to reason about)</p>
<p class="fragment"><b>Complete: </b> Every "level" except the last is full<ul>
<li class="fragment"><b>Balanced: </b> TBD (loosely, all leaves at ~ same level)</li>
<li class="fragment">Easy to encode in an array (later today)</li>
</ul></p>
<p class="fragment">All nodes in the last level are all-the-way left</p>
</div>
</section>
<section>
<p>Ordering by "≥" gets us a "Max-Heap"</p>
</section>
<section>
<h4 class="slide_title">Valid Max-Heaps</h4>
<svg data-src="graphics/22b/valid-maxheap.svg" class="stretch" />
</section>
<section>
<h4 class="slide_title">Invalid Max-Heaps</h4>
<svg data-src="graphics/22b/invalid-maxheap.svg" class="stretch" />
</section>
<section>
<h4 class="slide_title">Heaps</h4>
<p>What is the depth of a binary heap containing $n$ items?</p>
<ul style="font-size: 70%">
<li class="fragment">Level 1: Up to 1 item</li>
<li class="fragment">Level 2: Up to 2 items</li>
<li class="fragment">Level 3: Up to 4 items</li>
<li class="fragment">Level 4: Up to 8 items</li>
<li class="fragment">Level 5: Up to 16 items</li>
<li class="fragment">Level $i$: Up to $O(2^i)$ items</li>
</ul>
</section>
<section>
<h4 class="slide_title">Heaps</h4>
<p>What is the depth of a binary heap containing $n$ items?</p>
<p class="fragment">$$n = O\left(\sum_{i = 1}^{\ell_{max}} 2^i\right) = O\left(2^{\ell_{max}}\right)$$</p>
<p class="fragment">$$\ell_{max} = O\left(\log(n)\right)$$</p>
</section>
<section>
<h4 class="slide_title">The Heap ADT</h4>
<dl>
<dt>enqueue(elem: A) [pushHeap]</dt>
<dd>Place an item into the heap</dd>
<dt>dequeue: A [popHeap]</dt>
<dd>Remove and return the maximal element from the heap</dd>
<dt>head: A</dt>
<dd>The maximal element in the heap</dd>
<dt>length: Int</dt>
<dd>The number of elements in the heap.</dd>
</dl>
</section>
<section>
<h4 class="slide_title">enqueue</h4>
<p class="fragment"><b>Idea:</b> Insert element at next available spot, then fix.</p>
<ul>
<li class="fragment">Call the insertion point <tt>current</tt></li>
<li class="fragment">While <tt>current != root</tt> and <tt>current > parent</tt>
<ul>
<li class="fragment">Swap <tt>current</tt> with <tt>parent</tt></li>
<li class="fragment">Repeat with <tt>current</tt> ← <tt>parent</tt></li>
</ul></li>
</ul>
</section>
<section>
<h4 class="slide_title">enqueue</h4>
<svg data-src="graphics/22b/fix-up.svg" class="stretch" />
</section>
<section>
<h4 class="slide_title">enqueue</h4>
<pre><code class="scala">
def fixUp[A: Ordering](current: Vertex[A]): Unit =
{
if(current.parent.isDefined){
val parent = current.parent.get
if( Ordering[A].lt( parent.value, current.value ) ){
swap(current.value, parent.value)
fixUp(parent)
}
}
}
</code></pre>
<p class="fragment">What's the complexity?</p>
<p class="fragment">(How many swaps are required?)</p>
</section>
<section>
<h4 class="slide_title">dequeue</h4>
<p class="fragment"><b>Idea:</b> Replace root with last element, then fix.</p>
<ul>
<li class="fragment">Call start with <tt>current</tt> ← <tt>root</tt></li>
<li class="fragment">While <tt>current</tt> has a <tt>child > current</tt>
<ul>
<li class="fragment">Swap <tt>current</tt> with larger <tt>child</tt></li>
<li class="fragment">Repeat with <tt>current</tt> ← <tt>child</tt></li>
</ul></li>
</ul>
</section>
<section>
<h4 class="slide_title">dequeue</h4>
<svg data-src="graphics/22b/fix-down.svg" height="600px" />
</section>
<section>
<h4 class="slide_title">enqueue</h4>
<pre><code class="scala">
def fixDown[A: Ordering](current: Vertex[A]): Unit =
{
if(current.leftChild.isDefined){
val left = current.leftChild.get
if( Ordering[A].lt( current.value, left.value ) ){
if(current.rightChild.isDefined){
val right = current.rightChild.get
if( Ordering[A].lt( right.value, left.value ) ){
swap(current.value, left.value); fixDown(left)
} else {
swap(current.value, right.value); fixDown(right)
}
} else {
swap(current.value, left.value); fixDown(left)
}
} else if(current.rightChild.isDefined) {
val right = current.rightChild.get
if( Ordering[A].lt( current.value, right.value ) ){
swap(current.value, right.value); fixDown(right)
}
}
}
}
</code></pre>
<p class="fragment">What's the complexity?</p>
</section>
<section>
<h4 class="slide_title">Priority Queues</h4>
<table>
<tr>
<th>Operation</th>
<th>Lazy</th>
<th>Proactive</th>
<th>Heap</th>
</tr>
<tr>
<td>enqueue</td>
<td>$O(1)$</td>
<td>$O(n)$</td>
<td>$O(\log(n))$</td>
</tr>
<tr>
<td>dequeue</td>
<td>$O(n)$</td>
<td>$O(1)$</td>
<td>$O(\log(n))$</td>
</tr>
<tr>
<td>head</td>
<td>$O(n)$</td>
<td>$O(1)$</td>
<td>$O(1)$</td>
</tr>
</table>
</section>
<section>
<h4>Storing Heaps</h4>
<ul>
<li>Each layer has a maximum size</li>
<li>Each layer grows left-to-right</li>
<li>Only the last layer grows</li>
</ul>
<p class="fragment"><b>Idea: </b> Use an <tt>ArrayBuffer</tt> to store the heap.</p>
</section>
<section>
<h4 class="slide_title">Storing Heaps</h4>
<svg data-src="graphics/22b/heap-array.svg" width="500px"/>
</section>
<section>
<h4 class="slide_title">Analysis</h4>
<dl>
<dt>Enqueue</dt>
<dd class="fragment"><b>Append to ArrayBuffer: </b> <span class="fragment">$O(n)$, Amortized $O(1)$</span></dd>
<dd class="fragment"><b>fixUp: </b> <span class="fragment">$O(\log(n))$ fixes, each $O(1)$ = $O(\log(n))$</span></dd>
<dd class="fragment"><b>Total: </b> Amortized $O(\log(n))$, Worst-case $O(n)$</dd>
<dt class="fragment">Dequeue</dt>
<dd class="fragment"><b>Remove End of ArrayBuffer: </b> <span class="fragment">$O(1)$</span></dd>
<dd class="fragment"><b>fixDown: </b> <span class="fragment">$O(\log(n))$ fixes, each $O(1)$ = $O(\log(n))$</span></dd>
<dd class="fragment"><b>Total: </b> Worst-case $O(\log(n))$</dd>
</dl>
</section>
<section>
<h4 class="slide_title">Heap Sort</h4>
<ul>
<li>Insert items into priority queue with enqueue</li>
<li>Reconstruct sequence (in reverse order) with dequeue</li>
</ul>
</section>
<section>
<h4 class="slide_title">Heap Sort</h4>
<svg data-src="graphics/22b/heapsort.svg" />
</section>
<section>
<h4 class="slide_title">Heap Sort</h4>
<ul>
<dt>Enqueue Element $i$</dt>
<dd class="fragment">$O(\log(i))$</dd>
<dt class="fragment">Dequeue Element $i$</dt>
<dd class="fragment">$O(\log(n-i))$</dd>
</ul>
<p class="fragment">
$$\left(\sum_{i=1}^n O(\log(i))\right) + \left(\sum_{i=1}^n O(\log(n-i))\right)$$
</p>
<p class="fragment">
$$< O(n\log(n))$$
</p>
</section>
<section>
<h4 class="slide_title">Updating Heap Elements</h4>
<p>
After updating <tt>current</tt>, <tt>fixUp</tt> or <tt>fixDown</tt>.
</p>
<p class="fragment">
If new <tt>current > parent</tt>, <tt>current</tt> moves up.<br/>
If new <tt>current < parent</tt>, <tt>current</tt> moves down.
</p>
<p class="fragment">
How do we know where the value appears in the heap?
</p>
</section>
<section>
<h4 class="slide_title">Heapify</h4>
<p><b>Input: </b> Array</p>
<p><b>Output: </b> Array reorderd to be a heap</p>
</section>
<section>
<h4 class="slide_title">Heapify</h4>
<dl>
<div class="fragment">
<dt>Level $\log(n)$</dt>
<dd><tt>fixDown</tt> all $\frac{n}{2}$ nodes at this level (max $0$ swaps each)</dd>
</div>
<div class="fragment">
<dt>Level $\log(n)-1$</dt>
<dd><tt>fixDown</tt> all $\frac{n}{4}$ nodes at this level (max $1$ swaps each)</dd>
</div>
<div class="fragment">
<dt>Level $\log(n)-2$</dt>
<dd><tt>fixDown</tt> all $\frac{n}{8}$ nodes at this level (max $2$ swaps each)</dd>
</div>
</dl>
</section>
<section>
<h4 class="slide_title">Heapify</h4>
<div style="font-size: 70%">
<p>$$O\left(\sum_{i = 1}^{\log(n)} \frac{n}{2^{i}} \cdot (i+1) \right)$$</p>
<p class="fragment">$$O\left(n \sum_{i = 1}^{\log(n)} \frac{i}{2^{i}} + \frac{1}{2^i}\right)$$</p>
<p class="fragment">$$O\left(n \sum_{i = 1}^{\log(n)} \frac{i}{2^{i}}\right)$$</p>
<p class="fragment">$$O\left(n \sum_{i = 1}^{\infty} \frac{i}{2^{i}}\right)$$</p>
<p class="fragment">$\sum_{i = 1}^{\infty} \frac{i}{2^{i}}$ is known to converge to a constant.</p>
<p class="fragment">$$O\left(n\right)$$</p>
</div>
</section>
<section>
<h4 class="slide_title">Heapify</h4>
<p>We can go from an unsorted array to a heap in $O(n)$</p>
<p class="fragment">(but heap sort still requires $n \log(n)$ for dequeueing)</p>
</section>
<section>
<h4 class="slide_title">Next Time...</h4>
<p>Sets, Bags, and Binary Search Trees</p>
</section>

Binary file not shown.

After

Width:  |  Height:  |  Size: 471 KiB

View File

@ -0,0 +1,409 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="53.076145mm"
height="45.718559mm"
viewBox="0 0 53.076145 45.718559"
version="1.1"
id="svg109390"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
sodipodi:docname="fix-down.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview109392"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="2.469153"
inkscape:cx="58.319595"
inkscape:cy="103.27428"
inkscape:window-width="1920"
inkscape:window-height="1011"
inkscape:window-x="1080"
inkscape:window-y="352"
inkscape:window-maximized="1"
inkscape:current-layer="layer9" />
<defs
id="defs109387" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-19.059011,-37.599822)"
style="display:inline">
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="46.642319"
y="41.789055"
id="text111587"><tspan
sodipodi:role="line"
id="tspan111585"
style="stroke-width:0.264583"
x="46.642319"
y="41.789055">10</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="38.619141"
y="55.776146"
id="text112317"><tspan
sodipodi:role="line"
id="tspan112315"
style="stroke-width:0.264583"
x="38.619141"
y="55.776146">6</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="58.856514"
y="55.816109"
id="text114565"><tspan
sodipodi:role="line"
id="tspan114563"
style="stroke-width:0.264583"
x="58.856514"
y="55.816109">4</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="43.41013"
y="69.425537"
id="text117077"><tspan
sodipodi:role="line"
id="tspan117075"
style="stroke-width:0.264583"
x="43.41013"
y="69.425537">2</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="69.108986"
y="69.425537"
id="text118621"><tspan
sodipodi:role="line"
id="tspan118619"
style="stroke-width:0.264583"
x="69.108986"
y="69.425537">2</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="28.421783"
y="69.425537"
id="text118999"><tspan
sodipodi:role="line"
id="tspan118997"
style="stroke-width:0.264583"
x="28.421783"
y="69.425537">5</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="53.875957"
y="69.388329"
id="text121485"><tspan
sodipodi:role="line"
id="tspan121483"
style="stroke-width:0.264583"
x="53.875957"
y="69.388329">1</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="18.438894"
y="82.682289"
id="text122815"><tspan
sodipodi:role="line"
id="tspan122813"
style="stroke-width:0.264583"
x="18.438894"
y="82.682289">1</tspan></text>
<g
id="g14575"
transform="translate(3.4954703,2.0859488)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 36.87029,48.987328 v -5.698389 h 20.218204 v 5.698389"
id="path14129"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path14491" />
</g>
<g
id="g42881"
transform="translate(-6.5985317,15.687186)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 36.87029,48.987328 v -5.698389 h 14.926537 v 5.698389"
id="path42877"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path42879" />
</g>
<g
id="g14705"
transform="translate(13.619672,15.687186)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 42.161957,48.987328 v -5.698389 h 14.926537 v 5.698389"
id="path14701"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path14703" />
</g>
<g
id="g127598"
transform="translate(-16.692534,29.288423)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 36.87029,48.987328 V 43.288939 H 46.964292 V 40.677758"
id="path127594"
sodipodi:nodetypes="cccc" />
</g>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="32.904278"
y="82.676781"
id="text124777"><tspan
sodipodi:role="line"
id="tspan124775"
style="font-weight:normal;fill:#000000;stroke-width:0.264583"
x="32.904278"
y="82.676781">2</tspan></text>
<g
id="g127604"
transform="translate(-21.984201,29.288423)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 52.255959,43.288939 h 4.832535 v 5.698389"
id="path127600"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 52.255959,43.172297 V 40.677758"
id="path127602"
sodipodi:nodetypes="cc" />
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Layer 2"
style="display:inline"
class="fragment"
data-fragment-index="1">
<rect
style="display:inline;fill:#ffffff;stroke:none;stroke-width:1;stroke-linejoin:round"
id="rect128522"
width="6.314301"
height="4.9653239"
x="28.1786"
y="-0.12692225"
ry="0.60545927" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Layer 3"
style="display:inline"
class="fragment"
data-fragment-index="2">
<rect
style="display:inline;fill:#ffffff;stroke:none;stroke-width:1;stroke-linejoin:round"
id="rect169454"
width="18.341747"
height="14.321077"
x="-0.098065063"
y="32.563755"
ry="0.60545927" />
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="29.577328"
y="4.2291961"
id="text111587-7"><tspan
sodipodi:role="line"
id="tspan111585-9"
style="font-weight:bold;fill:#c01c28;stroke-width:0.264583"
x="29.577328"
y="4.2291961">2</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="-0.62011695"
y="45.082466"
id="text122815-2"><tspan
sodipodi:role="line"
id="tspan122813-0"
style="stroke-width:0.264583"
x="-0.62011695"
y="45.082466">1</tspan></text>
<g
id="g127598-2"
transform="translate(-35.751545,-8.311399)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 36.87029,48.987328 V 43.288939 H 46.964292 V 40.677758"
id="path127594-3"
sodipodi:nodetypes="cccc" />
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer6"
inkscape:label="Layer 4"
style="display:inline"
class="fragment"
data-fragment-index="3">
<rect
style="fill:none;stroke:#c01c28;stroke-width:1;stroke-linejoin:round"
id="rect174293"
width="33.537006"
height="12.02368"
x="14.429838"
y="10.568094"
ry="0.60545927"
class="fragment fade-out"
data-fragment-index="4" />
</g>
<g
inkscape:groupmode="layer"
id="layer7"
inkscape:label="Layer 5"
style="display:inline"
class="fragment"
data-fragment-index="4">
<rect
style="display:inline;fill:#ffffff;stroke:none;stroke-width:1;stroke-linejoin:round"
id="rect128522-7"
width="6.314301"
height="4.9653239"
x="28.1786"
y="-0.12692225"
ry="0.60545927" />
<rect
style="display:inline;fill:#ffffff;stroke:none;stroke-width:1;stroke-linejoin:round"
id="rect174447"
width="6.314301"
height="4.9653239"
x="18.097532"
y="13.645491"
ry="0.60545927" />
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="19.43335"
y="18.216288"
id="text111587-7-5"><tspan
sodipodi:role="line"
id="tspan111585-9-9"
style="font-weight:bold;fill:#c01c28;stroke-width:0.264583"
x="19.43335"
y="18.216288">2</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="29.704107"
y="4.1892328"
id="text112317-2"><tspan
sodipodi:role="line"
id="tspan112315-2"
style="stroke-width:0.264583"
x="29.704107"
y="4.1892328">6</tspan></text>
</g>
<g
inkscape:groupmode="layer"
id="layer8"
inkscape:label="Layer 6"
style="display:inline"
class="fragment"
data-fragment-index="5">
<rect
style="fill:none;stroke:#c01c28;stroke-width:1;stroke-linejoin:round"
id="rect174293-8"
width="27.176033"
height="12.02368"
x="4.6710835"
y="23.142597"
ry="0.60545927"
class="fragment fade-out"
data-fragment-index="6" />
</g>
<g
inkscape:groupmode="layer"
id="layer9"
inkscape:label="Layer 7"
style="display:inline"
class="fragment"
data-fragment-index="6">
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;display:inline;stroke-width:0.264583"
x="1.6975534"
y="39.639877"
id="text143512"
class="fragment"
data-fragment-index="9"><tspan
sodipodi:role="line"
id="tspan143510"
style="fill:#26a269;stroke-width:0.264583"
x="1.6975534"
y="39.639877">✓</tspan></text>
<rect
style="display:inline;fill:#ffffff;stroke:none;stroke-width:1;stroke-linejoin:round"
id="rect174447-9"
width="6.314301"
height="4.9653239"
x="18.09753"
y="13.645491"
ry="0.60545927" />
<rect
style="display:inline;fill:#ffffff;stroke:none;stroke-width:1;stroke-linejoin:round"
id="rect174447-9-2"
width="6.314301"
height="4.9653239"
x="8.0399456"
y="27.226097"
ry="0.60545927" />
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;display:inline;stroke-width:0.264583"
x="9.1877613"
y="31.902885"
id="text111587-7-5-7"><tspan
sodipodi:role="line"
id="tspan111585-9-9-3"
style="font-weight:bold;fill:#c01c28;stroke-width:0.264583"
x="9.1877613"
y="31.902885">2</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="19.60836"
y="18.139118"
id="text118999-6"><tspan
sodipodi:role="line"
id="tspan118997-1"
style="stroke-width:0.264583"
x="19.60836"
y="18.139118">5</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="53.076145mm"
height="45.718559mm"
viewBox="0 0 53.076145 45.718559"
version="1.1"
id="svg109390"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
sodipodi:docname="fix-up.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview109392"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="2.469153"
inkscape:cx="58.319595"
inkscape:cy="103.27428"
inkscape:window-width="1920"
inkscape:window-height="1011"
inkscape:window-x="1080"
inkscape:window-y="352"
inkscape:window-maximized="1"
inkscape:current-layer="layer3" />
<defs
id="defs109387" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-19.059011,-37.599822)">
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="46.642319"
y="41.789055"
id="text111587"><tspan
sodipodi:role="line"
id="tspan111585"
style="stroke-width:0.264583"
x="46.642319"
y="41.789055">10</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="38.619141"
y="55.776146"
id="text112317"><tspan
sodipodi:role="line"
id="tspan112315"
style="stroke-width:0.264583"
x="38.619141"
y="55.776146">5</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="58.856514"
y="55.816109"
id="text114565"><tspan
sodipodi:role="line"
id="tspan114563"
style="stroke-width:0.264583"
x="58.856514"
y="55.816109">4</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="43.41013"
y="69.425537"
id="text117077"><tspan
sodipodi:role="line"
id="tspan117075"
style="stroke-width:0.264583"
x="43.41013"
y="69.425537">2</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="69.108986"
y="69.425537"
id="text118621"><tspan
sodipodi:role="line"
id="tspan118619"
style="stroke-width:0.264583"
x="69.108986"
y="69.425537">2</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="28.421783"
y="69.425537"
id="text118999"><tspan
sodipodi:role="line"
id="tspan118997"
style="stroke-width:0.264583"
x="28.421783"
y="69.425537">2</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="53.875957"
y="69.388329"
id="text121485"><tspan
sodipodi:role="line"
id="tspan121483"
style="stroke-width:0.264583"
x="53.875957"
y="69.388329">1</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="18.438894"
y="82.682289"
id="text122815"><tspan
sodipodi:role="line"
id="tspan122813"
style="stroke-width:0.264583"
x="18.438894"
y="82.682289">1</tspan></text>
<g
id="g14575"
transform="translate(3.4954703,2.0859488)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 36.87029,48.987328 v -5.698389 h 20.218204 v 5.698389"
id="path14129"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path14491" />
</g>
<g
id="g42881"
transform="translate(-6.5985317,15.687186)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 36.87029,48.987328 v -5.698389 h 14.926537 v 5.698389"
id="path42877"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path42879" />
</g>
<g
id="g14705"
transform="translate(13.619672,15.687186)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 42.161957,48.987328 v -5.698389 h 14.926537 v 5.698389"
id="path14701"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path14703" />
</g>
<g
id="g127598"
transform="translate(-16.692534,29.288423)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 36.87029,48.987328 V 43.288939 H 46.964292 V 40.677758"
id="path127594"
sodipodi:nodetypes="cccc" />
</g>
<g
id="g128497"
class="fragment"
data-fragment-index="1">
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="32.904278"
y="82.676781"
id="text124777"><tspan
sodipodi:role="line"
id="tspan124775"
style="font-weight:bold;fill:#c01c28;stroke-width:0.264583"
x="32.904278"
y="82.676781">6</tspan></text>
<g
id="g127604"
transform="translate(-21.984201,29.288423)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 52.255959,43.288939 h 4.832535 v 5.698389"
id="path127600"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 52.255959,43.172297 V 40.677758"
id="path127602"
sodipodi:nodetypes="cc" />
</g>
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer 2"
style="display:inline"
class="fragment"
data-fragment-index="2"
transform="translate(-19.059011,-37.599822)">
<rect
style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linejoin:round"
id="rect128522"
width="6.314301"
height="4.9653239"
x="31.5585"
y="78.353058"
ry="0.60545927" />
<rect
style="fill:#ffffff;stroke:none;stroke-width:1;stroke-linejoin:round"
id="rect128747"
width="6.314301"
height="4.9653239"
x="26.795996"
y="64.916191"
ry="0.60545927" />
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="33.171616"
y="82.719498"
id="text118999-5"><tspan
sodipodi:role="line"
id="tspan118997-6"
style="stroke-width:0.264583;font-weight:bold"
x="33.171616"
y="82.719498">2</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="28.154444"
y="69.38282"
id="text128905"><tspan
sodipodi:role="line"
id="tspan128903"
style="font-weight:bold;fill:#c01c28;stroke-width:0.264583"
x="28.154444"
y="69.38282">6</tspan></text>
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Layer 3"
style="display:inline"
class="fragment"
data-fragment-index="3"
transform="translate(-19.059011,-37.599822)">
<rect
style="display:inline;fill:#ffffff;stroke:none;stroke-width:1;stroke-linejoin:round"
id="rect129158"
width="6.314301"
height="4.9653239"
x="26.984423"
y="64.848259"
ry="0.60545927" />
<rect
style="display:inline;fill:#ffffff;stroke:none;stroke-width:1;stroke-linejoin:round"
id="rect128747-6"
width="6.314301"
height="4.9653239"
x="37.228634"
y="51.276035"
ry="0.60545927" />
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;display:inline;stroke-width:0.264583"
x="38.398655"
y="55.810596"
id="text128905-0"><tspan
sodipodi:role="line"
id="tspan128903-6"
style="font-weight:bold;fill:#c01c28;stroke-width:0.264583"
x="38.398655"
y="55.810596">6</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="28.374929"
y="69.348366"
id="text112317-2"><tspan
sodipodi:role="line"
id="tspan112315-6"
style="font-weight:bold;stroke-width:0.264583"
x="28.374929"
y="69.348366">5</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="41.040054"
y="50.231209"
id="text143512"
class="fragment"
data-fragment-index="4"><tspan
sodipodi:role="line"
id="tspan143510"
style="fill:#26a269;stroke-width:0.264583"
x="41.040054"
y="50.231209">✓</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,634 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="148.08896mm"
height="125.25246mm"
viewBox="0 0 148.08896 125.25245"
version="1.1"
id="svg175492"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
sodipodi:docname="heap-array.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview175494"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.804207"
inkscape:cx="95.746493"
inkscape:cy="257.39642"
inkscape:window-width="1920"
inkscape:window-height="1011"
inkscape:window-x="1080"
inkscape:window-y="352"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs175489" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-39.944532,-56.797272)">
<g
id="g221205"
class="fragment"
data-fragment-index="1"
transform="matrix(0.74621053,0,0,0.74621053,47.720921,46.202305)">
<rect
style="fill:#ffbe6f;stroke:#241f31;stroke-width:0.649933;stroke-linejoin:round"
id="rect178180"
width="13.186982"
height="13.186982"
x="82.212662"
y="168.53777"
ry="0.39350826" />
<rect
style="fill:#ffbe6f;stroke:#241f31;stroke-width:0.649933;stroke-linejoin:round"
id="rect178182"
width="13.186982"
height="13.186982"
x="95.399651"
y="168.53777"
ry="0.39350826" />
<rect
style="fill:#ffbe6f;stroke:#241f31;stroke-width:0.649933;stroke-linejoin:round"
id="rect178184"
width="13.186982"
height="13.186982"
x="108.58663"
y="168.53777"
ry="0.39350826" />
<rect
style="fill:#ffbe6f;stroke:#241f31;stroke-width:0.649933;stroke-linejoin:round"
id="rect178186"
width="13.186982"
height="13.186982"
x="121.77361"
y="168.53777"
ry="0.39350826" />
<rect
style="fill:#ffbe6f;stroke:#241f31;stroke-width:0.649933;stroke-linejoin:round"
id="rect178188"
width="13.186982"
height="13.186982"
x="134.96059"
y="168.53777"
ry="0.39350826" />
<rect
style="fill:#ffbe6f;stroke:#241f31;stroke-width:0.649933;stroke-linejoin:round"
id="rect178190"
width="13.186982"
height="13.186982"
x="148.14758"
y="168.53777"
ry="0.39350826" />
<rect
style="fill:#ffbe6f;stroke:#241f31;stroke-width:0.649933;stroke-linejoin:round"
id="rect178192"
width="13.186982"
height="13.186982"
x="161.33456"
y="168.53777"
ry="0.39350826" />
<rect
style="fill:#ffbe6f;stroke:#241f31;stroke-width:0.649933;stroke-linejoin:round"
id="rect178194"
width="13.186982"
height="13.186982"
x="174.52155"
y="168.53777"
ry="0.39350826" />
<rect
style="fill:#dc8add;stroke:#241f31;stroke-width:0.649933;stroke-linejoin:round"
id="rect178196"
width="13.186982"
height="13.186982"
x="29.464741"
y="168.53778"
ry="0.39350826" />
<rect
style="fill:#dc8add;stroke:#241f31;stroke-width:0.649933;stroke-linejoin:round"
id="rect178198"
width="13.186982"
height="13.186982"
x="42.651722"
y="168.53778"
ry="0.39350826" />
<rect
style="fill:#dc8add;stroke:#241f31;stroke-width:0.649933;stroke-linejoin:round"
id="rect178200"
width="13.186982"
height="13.186982"
x="55.838707"
y="168.53778"
ry="0.39350826" />
<rect
style="fill:#dc8add;stroke:#241f31;stroke-width:0.649933;stroke-linejoin:round"
id="rect178202"
width="13.186982"
height="13.186982"
x="69.025688"
y="168.53778"
ry="0.39350826" />
<rect
style="fill:#99c1f1;stroke:#241f31;stroke-width:0.649933;stroke-linejoin:round"
id="rect178204"
width="13.186982"
height="13.186982"
x="16.277758"
y="168.53777"
ry="0.39350826" />
<rect
style="fill:#99c1f1;stroke:#241f31;stroke-width:0.649933;stroke-linejoin:round"
id="rect178206"
width="13.186982"
height="13.186982"
x="3.090776"
y="168.53777"
ry="0.39350826" />
<rect
style="fill:#8ff0a4;stroke:#241f31;stroke-width:0.649933;stroke-linejoin:round"
id="rect178208"
width="13.186982"
height="13.186982"
x="-10.096207"
y="168.53778"
ry="0.39350826" />
</g>
<g
id="g221237"
class="fragment"
data-fragment-index="2"
transform="matrix(0.74621053,0,0,0.74621053,47.720921,46.202305)">
<rect
style="fill:#8ff0a4;stroke:#241f31;stroke-width:1;stroke-linejoin:round"
id="rect175575"
width="20.289742"
height="20.289742"
x="72.514992"
y="14.698361"
ry="0.60545927" />
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="-3.7547243"
y="177.95642"
id="text207187"><tspan
sodipodi:role="line"
id="tspan207185"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="-3.7547245"
y="177.95642">10</tspan></text>
</g>
<g
id="g221245"
class="fragment"
data-fragment-index="3"
transform="matrix(0.74621053,0,0,0.74621053,47.720921,46.202305)">
<rect
style="fill:#99c1f1;stroke:#241f31;stroke-width:1;stroke-linejoin:round"
id="rect175701"
width="20.289742"
height="20.289742"
x="36.411629"
y="53.317707"
ry="0.60545927" />
<rect
style="fill:#99c1f1;stroke:#241f31;stroke-width:1;stroke-linejoin:round"
id="rect175721"
width="20.289742"
height="20.289742"
x="108.61836"
y="53.317707"
ry="0.60545927" />
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="9.4322586"
y="177.95642"
id="text207206"><tspan
sodipodi:role="line"
id="tspan207204"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="9.4322586"
y="177.95642">6</tspan></text>
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="22.61924"
y="177.95642"
id="text207210"><tspan
sodipodi:role="line"
id="tspan207208"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="22.61924"
y="177.95642">4</tspan></text>
</g>
<g
id="g221259"
class="fragment"
data-fragment-index="4"
transform="matrix(0.74621053,0,0,0.74621053,47.720921,46.202305)">
<rect
style="fill:#dc8add;stroke:#241f31;stroke-width:1;stroke-linejoin:round"
id="rect175723"
width="20.289742"
height="20.289742"
x="17.668356"
y="91.937057"
ry="0.60545927" />
<rect
style="fill:#dc8add;stroke:#241f31;stroke-width:1;stroke-linejoin:round"
id="rect175761"
width="20.289742"
height="20.289742"
x="54.232784"
y="91.937057"
ry="0.60545927" />
<rect
style="fill:#dc8add;stroke:#241f31;stroke-width:1;stroke-linejoin:round"
id="rect175763"
width="20.289742"
height="20.289742"
x="90.797211"
y="91.937057"
ry="0.60545927" />
<rect
style="fill:#dc8add;stroke:#241f31;stroke-width:1;stroke-linejoin:round"
id="rect175765"
width="20.289742"
height="20.289742"
x="127.36163"
y="91.937057"
ry="0.60545927" />
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="35.806225"
y="177.95642"
id="text207214"><tspan
sodipodi:role="line"
id="tspan207212"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="35.806225"
y="177.95642">5</tspan></text>
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="48.993206"
y="177.95642"
id="text207218"><tspan
sodipodi:role="line"
id="tspan207216"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="48.993206"
y="177.95642">2</tspan></text>
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="62.180191"
y="177.95642"
id="text207222"><tspan
sodipodi:role="line"
id="tspan207220"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="62.180191"
y="177.95642">2</tspan></text>
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="75.367172"
y="177.95642"
id="text207226"><tspan
sodipodi:role="line"
id="tspan207224"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="75.367172"
y="177.95642">1</tspan></text>
</g>
<g
id="g221273"
class="fragment"
data-fragment-index="5"
transform="matrix(0.74621053,0,0,0.74621053,47.720921,46.202305)">
<rect
style="fill:#ffbe6f;stroke:#241f31;stroke-width:1;stroke-linejoin:round"
id="rect175767"
width="20.289742"
height="20.289742"
x="4.439189"
y="130.5564"
ry="0.60545927" />
<rect
style="fill:#ffbe6f;stroke:#241f31;stroke-width:1;stroke-linejoin:round"
id="rect175787"
width="20.289742"
height="20.289742"
x="30.897522"
y="130.5564"
ry="0.60545927" />
<rect
style="fill:#ffbe6f;stroke:#241f31;stroke-width:1;stroke-linejoin:round"
id="rect175789"
width="20.289742"
height="20.289742"
x="57.355862"
y="130.5564"
ry="0.60545927" />
<rect
style="fill:#ffbe6f;stroke:#241f31;stroke-width:1;stroke-linejoin:round"
id="rect175791"
width="20.289742"
height="20.289742"
x="77.645599"
y="130.5564"
ry="0.60545927" />
<rect
style="fill:#ffbe6f;stroke:#241f31;stroke-width:1;stroke-linejoin:round"
id="rect175793"
width="20.289742"
height="20.289742"
x="97.935341"
y="130.5564"
ry="0.60545927" />
<rect
style="fill:#ffbe6f;stroke:#241f31;stroke-width:1;stroke-linejoin:round"
id="rect175795"
width="20.289742"
height="20.289742"
x="118.22509"
y="130.5564"
ry="0.60545927" />
<rect
style="fill:#ffbe6f;stroke:#241f31;stroke-width:1;stroke-linejoin:round"
id="rect175797"
width="20.289742"
height="20.289742"
x="138.51483"
y="130.5564"
ry="0.60545927" />
<rect
style="fill:#ffbe6f;stroke:#241f31;stroke-width:1;stroke-linejoin:round"
id="rect175799"
width="20.289742"
height="20.289742"
x="158.80457"
y="130.5564"
ry="0.60545927" />
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="88.554146"
y="177.95642"
id="text207230"><tspan
sodipodi:role="line"
id="tspan207228"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="88.554146"
y="177.95642">1</tspan></text>
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="101.74113"
y="177.95642"
id="text207234"><tspan
sodipodi:role="line"
id="tspan207232"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="101.74113"
y="177.95642">2</tspan></text>
</g>
<g
id="g221281"
class="fragment"
data-fragment-index="7"
transform="matrix(0.74621053,0,0,0.74621053,47.720921,46.202305)">
<g
id="g176518"
transform="translate(-17.753046,77.224936)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 85.09201,53.331467 V 44.661198 H 82.659865 V 35.372817"
id="path176514"
sodipodi:nodetypes="cccc" />
</g>
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="114.92812"
y="177.95642"
id="text207238"><tspan
sodipodi:role="line"
id="tspan207236"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="114.92812"
y="177.95642">4</tspan></text>
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="67.248726"
y="143.52641"
id="text186695"><tspan
sodipodi:role="line"
id="tspan186693"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="67.248726"
y="143.52641">4</tspan></text>
</g>
<g
id="g221313"
transform="matrix(0.74621053,0,0,0.74621053,47.720921,46.202305)">
<g
id="g175948">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 46.462843,53.331467 v -8.670269 h 72.394047 v 8.00695"
id="path175862" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 82.659865,44.652461 V 35.372817"
id="path175864" />
</g>
<g
id="g175954"
transform="translate(-36.103367,38.739739)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 63.925343,53.331467 v -8.670269 h 36.410717 v 8.00695"
id="path175950"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 82.659865,44.652461 V 35.372817"
id="path175952" />
</g>
<g
id="g176289"
transform="translate(36.632532,38.739739)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 63.925343,53.331467 v -8.670269 h 36.410717 v 8.00695"
id="path176285"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 82.659865,44.652461 V 35.372817"
id="path176287" />
</g>
<g
id="g176295"
transform="translate(-54.317475,77.224936)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 69.21701,53.331467 v -8.670269 h 25.827383 v 8.00695"
id="path176291"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 82.659865,44.652461 V 35.372817"
id="path176293" />
</g>
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="82.407852"
y="27.668383"
id="text181419"><tspan
sodipodi:role="line"
id="tspan181417"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="82.407852"
y="27.668383">10</tspan></text>
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="46.304489"
y="66.287727"
id="text186651"><tspan
sodipodi:role="line"
id="tspan186649"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="46.304489"
y="66.287727">6</tspan></text>
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="118.51122"
y="66.287727"
id="text186655"><tspan
sodipodi:role="line"
id="tspan186653"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="118.51122"
y="66.287727">4</tspan></text>
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="27.561218"
y="104.90708"
id="text186659"><tspan
sodipodi:role="line"
id="tspan186657"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="27.561218"
y="104.90708">5</tspan></text>
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="64.125648"
y="104.90708"
id="text186675"><tspan
sodipodi:role="line"
id="tspan186673"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="64.125648"
y="104.90708">2</tspan></text>
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="100.69007"
y="104.90708"
id="text186679"><tspan
sodipodi:role="line"
id="tspan186677"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="100.69007"
y="104.90708">2</tspan></text>
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="137.2545"
y="104.90708"
id="text186683"><tspan
sodipodi:role="line"
id="tspan186681"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="137.2545"
y="104.90708">1</tspan></text>
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="14.332051"
y="143.52641"
id="text186687"><tspan
sodipodi:role="line"
id="tspan186685"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="14.332051"
y="143.52641">1</tspan></text>
<text
xml:space="preserve"
style="font-size:7.76111px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="40.790382"
y="143.52641"
id="text186691"><tspan
sodipodi:role="line"
id="tspan186689"
style="font-weight:bold;font-size:7.76111px;text-align:center;text-anchor:middle;stroke-width:0.264583"
x="40.790382"
y="143.52641">2</tspan></text>
</g>
<g
id="g227367"
class="fragment"
data-fragment-index="6"
transform="matrix(0.74621053,0,0,0.74621053,47.720921,46.202305)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 163.25727,57.072634 116.0131,166.68522"
id="path221348"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="164.12793"
y="39.831234"
id="text224366"><tspan
sodipodi:role="line"
id="tspan224364"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="164.12793"
y="39.831234">Enqueue always </tspan><tspan
sodipodi:role="line"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="164.12793"
y="46.886784"
id="tspan224368">inserts at the </tspan><tspan
sodipodi:role="line"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="164.12793"
y="53.942333"
id="tspan226924">array's end</tspan></text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 25 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 57 KiB

View File

@ -0,0 +1,440 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="171.85443mm"
height="72.99202mm"
viewBox="0 0 171.85443 72.99202"
version="1.1"
id="svg5"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
sodipodi:docname="invalid-maxheap.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.3631447"
inkscape:cx="368.99971"
inkscape:cy="14.671956"
inkscape:window-width="1920"
inkscape:window-height="1011"
inkscape:window-x="1080"
inkscape:window-y="352"
inkscape:window-maximized="1"
inkscape:current-layer="g54948" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-25.048187,-23.571181)">
<g
id="g42839">
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="46.679413"
y="40.229328"
id="text2696"><tspan
sodipodi:role="line"
id="tspan2694"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="46.679413"
y="40.229328">100</tspan></text>
<g
id="g14094"
transform="translate(6.3010075,-22.225001)">
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="30.096807"
y="76.340446"
id="text4196"><tspan
sodipodi:role="line"
id="tspan4194"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="30.096807"
y="76.340446">20</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="50.411957"
y="76.343201"
id="text5850"><tspan
sodipodi:role="line"
id="tspan5848"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="50.411957"
y="76.343201">50</tspan></text>
</g>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="41.077248"
y="69.252876"
id="text8596"><tspan
sodipodi:role="line"
id="tspan8594"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="41.077248"
y="69.252876">5</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="51.932213"
y="69.292839"
id="text10470"><tspan
sodipodi:role="line"
id="tspan10468"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="51.932213"
y="69.292839">10</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="66.60154"
y="69.25563"
id="text11090"><tspan
sodipodi:role="line"
id="tspan11088"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="66.60154"
y="69.25563">30</tspan></text>
<g
id="g14575">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 36.87029,48.987328 v -5.698389 h 20.218204 v 5.698389"
id="path14129"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path14491" />
</g>
<g
id="g14581"
transform="translate(-10.094002,14.659573)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 46.964292,43.288939 h 4.832535 v 5.698389"
id="path14577"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.288939 V 40.677758"
id="path14579"
sodipodi:nodetypes="cc" />
</g>
<g
id="g14705"
transform="translate(10.124202,14.659571)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 42.161957,48.987328 v -5.698389 h 14.926537 v 5.698389"
id="path14701"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path14703" />
</g>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 80.104718,24.207389 V 96.5632"
id="path14915"
sodipodi:nodetypes="cc" />
<g
id="g42889"
transform="translate(67.257465)">
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="46.679413"
y="40.229328"
id="text42843"><tspan
sodipodi:role="line"
id="tspan42841"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="46.679413"
y="40.229328">8</tspan></text>
<g
id="g42853"
transform="translate(6.3010075,-22.225001)">
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="30.096807"
y="76.340446"
id="text42847"><tspan
sodipodi:role="line"
id="tspan42845"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="30.096807"
y="76.340446">7</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="50.411957"
y="76.343201"
id="text42851"><tspan
sodipodi:role="line"
id="tspan42849"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="50.411957"
y="76.343201">6</tspan></text>
</g>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="26.40831"
y="69.215668"
id="text42857"><tspan
sodipodi:role="line"
id="tspan42855"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="26.40831"
y="69.215668">5</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="41.077248"
y="69.252876"
id="text42861"><tspan
sodipodi:role="line"
id="tspan42859"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="41.077248"
y="69.252876">4</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="51.932213"
y="69.292839"
id="text42865"><tspan
sodipodi:role="line"
id="tspan42863"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="51.932213"
y="69.292839">3</tspan></text>
<g
id="g42875">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 36.87029,48.987328 v -5.698389 h 20.218204 v 5.698389"
id="path42871"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path42873" />
</g>
<g
id="g42881"
transform="translate(-10.094002,14.659573)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 36.87029,48.987328 v -5.698389 h 14.926537 v 5.698389"
id="path42877"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path42879" />
</g>
<g
id="g42887"
transform="translate(10.124202,14.659571)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 42.161957,48.987328 v -5.698389 h 4.802335"
id="path42883"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.288939 V 40.677758"
id="path42885"
sodipodi:nodetypes="cc" />
</g>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="21.620007"
y="84.481583"
id="text93341"><tspan
sodipodi:role="line"
id="tspan93339"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="21.620007"
y="84.481583">2</tspan></text>
<g
id="g93347"
transform="translate(-20.188004,29.848314)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 42.161957,48.987328 v -5.698389 h 4.802335"
id="path93343"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.288939 V 40.677758"
id="path93345"
sodipodi:nodetypes="cc" />
</g>
</g>
<g
id="g54948"
transform="translate(129.02639)">
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="46.679413"
y="40.229328"
id="text54902"><tspan
sodipodi:role="line"
id="tspan54900"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="46.679413"
y="40.229328">10</tspan></text>
<g
id="g54912"
transform="translate(6.3010075,-22.225001)">
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="30.096807"
y="76.340446"
id="text54906"><tspan
sodipodi:role="line"
id="tspan54904"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="30.096807"
y="76.340446">6</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="50.411957"
y="76.343201"
id="text54910"><tspan
sodipodi:role="line"
id="tspan54908"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="50.411957"
y="76.343201">7</tspan></text>
</g>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="26.40831"
y="69.215668"
id="text54916"><tspan
sodipodi:role="line"
id="tspan54914"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="26.40831"
y="69.215668">8</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="41.077248"
y="69.252876"
id="text54920"><tspan
sodipodi:role="line"
id="tspan54918"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="41.077248"
y="69.252876">9</tspan></text>
<g
id="g42887-7"
transform="translate(10.124202,14.542929)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 42.161957,48.987328 v -5.698389 h 4.802335"
id="path42883-5"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.288939 V 40.677758"
id="path42885-3"
sodipodi:nodetypes="cc" />
</g>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="51.932213"
y="69.292839"
id="text54924"><tspan
sodipodi:role="line"
id="tspan54922"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="51.932213"
y="69.292839">5</tspan></text>
<g
id="g54934">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 36.87029,48.987328 v -5.698389 h 20.218204 v 5.698389"
id="path54930"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path54932" />
</g>
<g
id="g54940"
transform="translate(-10.094002,14.659573)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 36.87029,48.987328 v -5.698389 h 14.926537 v 5.698389"
id="path54936"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path54938" />
</g>
<ellipse
style="fill:none;stroke:#a51d2d;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
id="path104599"
cx="-95.200623"
cy="66.503975"
rx="6.2549973"
ry="7.2902164"
class="fragment" />
<ellipse
style="fill:none;stroke:#a51d2d;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
id="ellipse104725"
cx="-0.30366513"
cy="63.942745"
rx="6.2549973"
ry="7.2902164"
class="fragment" />
<ellipse
style="fill:none;stroke:#a51d2d;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
id="ellipse104727"
cx="34.534988"
cy="61.338398"
rx="14.57445"
ry="17.081207"
class="fragment" />
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 137.60865,23.571181 V 96.5632"
id="path54950"
sodipodi:nodetypes="cc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -0,0 +1,436 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="171.85443mm"
height="72.99202mm"
viewBox="0 0 171.85443 72.99202"
version="1.1"
id="svg5"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
sodipodi:docname="valid-maxheap.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.53399434"
inkscape:cx="89.888594"
inkscape:cy="142.32361"
inkscape:window-width="1920"
inkscape:window-height="1011"
inkscape:window-x="1080"
inkscape:window-y="352"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-25.048187,-23.571181)">
<g
id="g42839">
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="46.679413"
y="40.229328"
id="text2696"><tspan
sodipodi:role="line"
id="tspan2694"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="46.679413"
y="40.229328">31</tspan></text>
<g
id="g14094"
transform="translate(6.3010075,-22.225001)">
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="30.096807"
y="76.340446"
id="text4196"><tspan
sodipodi:role="line"
id="tspan4194"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="30.096807"
y="76.340446">20</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="50.411957"
y="76.343201"
id="text5850"><tspan
sodipodi:role="line"
id="tspan5848"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="50.411957"
y="76.343201">4</tspan></text>
</g>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="26.40831"
y="69.215668"
id="text8350"><tspan
sodipodi:role="line"
id="tspan8348"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="26.40831"
y="69.215668">5</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="41.077248"
y="69.252876"
id="text8596"><tspan
sodipodi:role="line"
id="tspan8594"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="41.077248"
y="69.252876">10</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="51.932213"
y="69.292839"
id="text10470"><tspan
sodipodi:role="line"
id="tspan10468"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="51.932213"
y="69.292839">2</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="66.60154"
y="69.25563"
id="text11090"><tspan
sodipodi:role="line"
id="tspan11088"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="66.60154"
y="69.25563">1</tspan></text>
<g
id="g14575">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 36.87029,48.987328 v -5.698389 h 20.218204 v 5.698389"
id="path14129"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path14491" />
</g>
<g
id="g14581"
transform="translate(-10.094002,14.659573)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 36.87029,48.987328 v -5.698389 h 14.926537 v 5.698389"
id="path14577"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path14579" />
</g>
<g
id="g14705"
transform="translate(10.124202,14.659571)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 42.161957,48.987328 v -5.698389 h 14.926537 v 5.698389"
id="path14701"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path14703" />
</g>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 80.104718,24.207389 V 96.5632"
id="path14915"
sodipodi:nodetypes="cc" />
<g
id="g42889"
transform="translate(67.257465)">
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="46.679413"
y="40.229328"
id="text42843"><tspan
sodipodi:role="line"
id="tspan42841"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="46.679413"
y="40.229328">10</tspan></text>
<g
id="g42853"
transform="translate(6.3010075,-22.225001)">
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="30.096807"
y="76.340446"
id="text42847"><tspan
sodipodi:role="line"
id="tspan42845"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="30.096807"
y="76.340446">9</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="50.411957"
y="76.343201"
id="text42851"><tspan
sodipodi:role="line"
id="tspan42849"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="50.411957"
y="76.343201">8</tspan></text>
</g>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="26.40831"
y="69.215668"
id="text42857"><tspan
sodipodi:role="line"
id="tspan42855"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="26.40831"
y="69.215668">7</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="41.077248"
y="69.252876"
id="text42861"><tspan
sodipodi:role="line"
id="tspan42859"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="41.077248"
y="69.252876">6</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="51.932213"
y="69.292839"
id="text42865"><tspan
sodipodi:role="line"
id="tspan42863"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="51.932213"
y="69.292839">5</tspan></text>
<g
id="g42875">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 36.87029,48.987328 v -5.698389 h 20.218204 v 5.698389"
id="path42871"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path42873" />
</g>
<g
id="g42881"
transform="translate(-10.094002,14.659573)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 36.87029,48.987328 v -5.698389 h 14.926537 v 5.698389"
id="path42877"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path42879" />
</g>
<g
id="g42887"
transform="translate(10.124202,14.659571)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 42.161957,48.987328 v -5.698389 h 4.802335"
id="path42883"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.288939 V 40.677758"
id="path42885"
sodipodi:nodetypes="cc" />
</g>
</g>
<g
id="g54948"
transform="translate(129.02639)">
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="46.679413"
y="40.229328"
id="text54902"><tspan
sodipodi:role="line"
id="tspan54900"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="46.679413"
y="40.229328">5</tspan></text>
<g
id="g54912"
transform="translate(6.3010075,-22.225001)">
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="30.096807"
y="76.340446"
id="text54906"><tspan
sodipodi:role="line"
id="tspan54904"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="30.096807"
y="76.340446">5</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="50.411957"
y="76.343201"
id="text54910"><tspan
sodipodi:role="line"
id="tspan54908"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="50.411957"
y="76.343201">4</tspan></text>
</g>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="26.40831"
y="69.215668"
id="text54916"><tspan
sodipodi:role="line"
id="tspan54914"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="26.40831"
y="69.215668">2</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="41.077248"
y="69.252876"
id="text54920"><tspan
sodipodi:role="line"
id="tspan54918"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="41.077248"
y="69.252876">2</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="21.986217"
y="83.423233"
id="text42865-3"><tspan
sodipodi:role="line"
id="tspan42863-6"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="21.986217"
y="83.423233">1</tspan></text>
<g
id="g42887-7"
transform="translate(-20.188004,29.848311)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 42.161957,48.987328 v -5.698389 h 4.802335"
id="path42883-5"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.288939 V 40.677758"
id="path42885-3"
sodipodi:nodetypes="cc" />
</g>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="51.932213"
y="69.292839"
id="text54924"><tspan
sodipodi:role="line"
id="tspan54922"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="51.932213"
y="69.292839">2</tspan></text>
<text
xml:space="preserve"
style="font-size:5.64444px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="66.60154"
y="69.25563"
id="text54928"><tspan
sodipodi:role="line"
id="tspan54926"
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
x="66.60154"
y="69.25563">1</tspan></text>
<g
id="g54934">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 36.87029,48.987328 v -5.698389 h 20.218204 v 5.698389"
id="path54930"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path54932" />
</g>
<g
id="g54940"
transform="translate(-10.094002,14.659573)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 36.87029,48.987328 v -5.698389 h 14.926537 v 5.698389"
id="path54936"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path54938" />
</g>
<g
id="g54946"
transform="translate(10.124202,14.659571)">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 42.161957,48.987328 v -5.698389 h 14.926537 v 5.698389"
id="path54942"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 46.964292,43.172297 V 40.677758"
id="path54944" />
</g>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 137.60865,23.571181 V 96.5632"
id="path54950"
sodipodi:nodetypes="cc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 19 KiB