Draft slides for tomorrow
parent
81a44f8cde
commit
1f4882ee0e
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
template: templates/cse250_2022_slides.erb
|
||||
title: Inductive Proofs, Divide and Conquer
|
||||
date: Sept 21, 2022
|
||||
date: Sept 26, 2022
|
||||
textbook: Ch. 15
|
||||
---
|
||||
|
||||
|
|
|
@ -0,0 +1,359 @@
|
|||
---
|
||||
template: templates/cse250_2022_slides.erb
|
||||
title: Inductive Proofs, Divide and Conquer
|
||||
date: Sept 26, 2022
|
||||
textbook: Ch. 15
|
||||
---
|
||||
|
||||
<section>
|
||||
<h4 class="slide_title">Merge Sort</h4>
|
||||
|
||||
<dl>
|
||||
<dt>Divide: Split the sequence in half</dt>
|
||||
<dd>$D(n) = \Theta(n)$ (can do in $\Theta(1)$)</dd>
|
||||
|
||||
<dt>Conquer: Sort left and right halves</dt>
|
||||
<dd>$a = 2$, $b = 2$, $c = 1$</dd>
|
||||
|
||||
<dt>Combine: Merge halves together</dt>
|
||||
<dd>$C(n) = \Theta(n)$</dd>
|
||||
</dl>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h4 class="slide_title">Merge Sort: Proof By Induction</h4>
|
||||
|
||||
<p><b>Base Case:</b> $T(1) \leq c \cdot 1$</p>
|
||||
|
||||
<p class="fragment">$$c_0 \leq c$$</p>
|
||||
<p class="fragment">True for any $c > c_0$</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h4 class="slide_title">Merge Sort: Proof By Induction</h4>
|
||||
|
||||
<p><b>Assume:</b> $T(\frac{n}{2}) \leq c \frac{n}{2} \log\left(\frac{n}{2}\right)$</p>
|
||||
<p><b>Show:</b> $T(n) \leq c n \log\left(n\right)$</p>
|
||||
|
||||
<div style="font-size: 50%">
|
||||
<p class="fragment">$$2\cdot T(\frac{n}{2}) + c_1 + c_2 n \leq c n \log(n)$$</p>
|
||||
<p class="fragment">By the assumption and transitivity, showing the following inequality suffices:<br>
|
||||
$$2 c \frac{n}{2} \log\left(\frac{n}{2}\right) + c_1 + c_2 n \leq c n \log(n)$$</p>
|
||||
<p class="fragment">$$c n \log(n) - c n \log(2) + c_1 + c_2 n \leq c n \log(n)$$</p>
|
||||
<p class="fragment">$$c_1 + c_2 n \leq c n \log(2)$$</p>
|
||||
<p class="fragment">$$\frac{c_1}{n \log(2)} + \frac{c_2}{\log(2)} \leq c$$</p>
|
||||
<p class="fragment">True for any $n_0 \geq \frac{c_1}{\log(2)}$ and $c > \frac{c_2}{\log(2)}+1$</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>All of the "work" is in the combine step.</p>
|
||||
|
||||
<p class="fragment">Can we put the work in the divide step?</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p><b>Idea 1</b>: Partition the data on the median value.</p>
|
||||
<p class="fragment"><b>Idea 2</b>: Partition the data in-place.</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<svg data-src="graphics/12b/quicksort-ideal.svg" />
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h4 class="slide_title">QuickSort (Idealized) <span class="fragment" data-fragment-index="2">(Wrong)</span></h4>
|
||||
|
||||
To sort an array of size $n$:
|
||||
<ol>
|
||||
<li class="fragment highlight-red" data-fragment-index="1">Pick a $pivot$ value.</li>
|
||||
<li>Swap values until...<ul>
|
||||
<li>array elements at $[1, \frac{n}{2})$ are $\leq pivot$</li>
|
||||
<li>array elements at $[\frac{n}{2}, n)$ are $> pivot$</li>
|
||||
</ul></li>
|
||||
<li>Recursively sort $low$</li>
|
||||
<li>Recursively sort $high$</li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h4 class="slide_title">QuickSort (Wrong)</h4>
|
||||
|
||||
<pre><code class="scala">
|
||||
def idealizedQuickSort(arr: Array[Int], from: Int, until: Int): Unit =
|
||||
{
|
||||
if(until - from < 1){ return }
|
||||
val pivot = ???
|
||||
var low = from, high = until -1
|
||||
|
||||
while(low < high){
|
||||
while(arr(low) <= pivot && low < high){ low ++ }
|
||||
if(low < high){
|
||||
while(arr(high) > pivot && low < high){ high ++ }
|
||||
swap(arr, low, high)
|
||||
}
|
||||
}
|
||||
idealizedQuickSort(arr, from = 0, until = low)
|
||||
idealizedQuickSort(arr, from = low, until = until)
|
||||
}
|
||||
</code></pre>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h4 class="slide_title">Partition (Ideal)</h4>
|
||||
<svg data-src="graphics/12b/pivot-ideal.svg"/>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h4 class="slide_title">QuickSort (Wrong)</h4>
|
||||
<p>If we can obtain a pivot in $O(1)$, what's the complexity?</p>
|
||||
|
||||
<p class="fragment">
|
||||
$$T_{quicksort}(n) = \begin{cases}
|
||||
\Theta(1) & \textbf{if } n = 1\\
|
||||
2 \cdog \T(\frac{n}{2}) + \Theta(n) + 0 & \textbf{otherwise}
|
||||
\end{cases}$$
|
||||
</p>
|
||||
|
||||
<p class="fragment">
|
||||
Contrast with <tt>MergeSort</tt>:
|
||||
$$T_{mergesort}(n) = \begin{cases}
|
||||
\Theta(1) & \textbf{if } n = 1\\
|
||||
2 \cdog \T(\frac{n}{2}) + \Theta(1) + \Theta(n) & \textbf{otherwise}
|
||||
\end{cases}$$
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h4 class="slide_title">QuickSort</h4>
|
||||
<p><b>Problem: </b> Finding the median value of an unsorted collection is $O(n\log(n))$</p>
|
||||
|
||||
<p class="fragment">(We'll talk about heaps later)</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h4 class="slide_title">QuickSort</h4>
|
||||
<p><b>Idea: </b> If we pick a value at random, on average half the values will be lower.</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
Let's say we pick the $i$th largest element, the recursive runtime for $T(n)$ is:
|
||||
$$\begin{cases}
|
||||
T(0) + T(n-1) + \Theta(n) & \textbf{if } i = 1\\
|
||||
T(1) + T(n-2) + \Theta(n) & \textbf{if } i = 2\\
|
||||
T(2) + T(n-3) + \Theta(n) & \textbf{if } i = 3\\
|
||||
..\\
|
||||
T(n-2) + T(1) + \Theta(n) & \textbf{if } i = n-1\\
|
||||
T(n-1) + T(0) + \Theta(n) & \textbf{if } i = n\\
|
||||
\end{cases}$$
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>How likely are we to pick $i = k$ for any specific $k$?</p>
|
||||
|
||||
<p class="fragment">$P[i = k] = \frac{1}{n}</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>... a brief aside...</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h4 class="slide_title">Probabilities and Expectations</h4>
|
||||
|
||||
<p>If I roll d6 (a 6-sided die 🎲) $k$ times, what is the average over all possible outcomes?</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h4 class="slide_title">k = 1</h4>
|
||||
|
||||
<p>If I roll d6 (a 6-sided die 🎲) $1$ time, what is the average over all possible outcomes?</p>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Roll</th>
|
||||
<th>Probability</th>
|
||||
<th>Contribution</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>⚀</td>
|
||||
<td>$\frac{1}{6}</td>
|
||||
<td>1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>⚁</td>
|
||||
<td>$\frac{1}{6}</td>
|
||||
<td>2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>⚂</td>
|
||||
<td>$\frac{1}{6}</td>
|
||||
<td>3</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>⚃</td>
|
||||
<td>$\frac{1}{6}</td>
|
||||
<td>4</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>⚄</td>
|
||||
<td>$\frac{1}{6}</td>
|
||||
<td>5</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>⚅</td>
|
||||
<td>$\frac{1}{6}</td>
|
||||
<td>6</td>
|
||||
</tr>
|
||||
|
||||
$$\frac{1 + 2 + 3 + 4 + 5 + 6}{6} = \frac{1}{6}\cdot 1 + \frac{1}{6}\cdot 2 + \frac{1}{6}\cdot 3 + \frac{1}{6}\cdot 4 + \frac{1}{6}\cdot 5 + \frac{1}{6}\cdot 6 = \sum_{i} \texttt{Probability}_i \cdot \texttt{Contribution}_i = 3.5$$
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>If $X$ is a random variable representing the outcome of the roll, we call this the <i>expectation</i> of $X$, or $E[X]$</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h4 class="slide_title">k = 2</h4>
|
||||
<p>If I roll d6 (a 6-sided die 🎲) $2$ times, what is the average over all possible outcomes?</p>
|
||||
|
||||
<p>Does the outcome of one roll affect the other?</p>
|
||||
<p class="fragment"><b>No:</b> Each roll is an <i>independent event</i>.</p>
|
||||
<p class="fragment">If $X$ and $Y$ are random variables representing the outcome of each roll (i.e., independent random variables), $E[X + Y] = E[X] + E[Y] = 3.5 + 3.5 = 7$</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h4 class="slide_title">Expectations</h4>
|
||||
|
||||
$$E_i[X] = \sum_{i} P_i \cdot X_i$$
|
||||
|
||||
</section>
|
||||
|
||||
<section>
|
||||
$$T(n) = \begin{cases}
|
||||
\Theta(1) & \textbf{if } n \leq 1
|
||||
T(0) + T(n-1) + \Theta(n) & \textbf{if } i = 1\\
|
||||
T(1) + T(n-2) + \Theta(n) & \textbf{if } i = 2\\
|
||||
T(2) + T(n-3) + \Theta(n) & \textbf{if } i = 3\\
|
||||
..\\
|
||||
T(n-2) + T(1) + \Theta(n) & \textbf{if } i = n-1\\
|
||||
T(n-1) + T(0) + \Theta(n) & \textbf{if } i = n\\
|
||||
\end{cases}$$
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>$i$ is the random variable</p>
|
||||
$$E[T(n)] = \begin{cases}
|
||||
\Theta(1) & \textbf{if } n \leq 1\\
|
||||
E[T(i-1) + T(n-i)] + \Theta(n) & \textbf{otherwise}
|
||||
\end{cases}$$
|
||||
</section>
|
||||
|
||||
<section>
|
||||
$$\begin{cases}
|
||||
T(0) + T(n-1) + \Theta(n) & \textbf{if } i = 1\\
|
||||
T(1) + T(n-2) + \Theta(n) & \textbf{if } i = 2\\
|
||||
T(2) + T(n-3) + \Theta(n) & \textbf{if } i = 3\\
|
||||
..\\
|
||||
T(n-2) + T(1) + \Theta(n) & \textbf{if } i = n-1\\
|
||||
T(n-1) + T(0) + \Theta(n) & \textbf{if } i = n\\
|
||||
\end{cases}$$
|
||||
<p>There's a symmetry: The left varies from $T(0)$ to $T(n-1)$, and visa versa right.</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
$$E[T(n)] = \begin{cases}
|
||||
\Theta(1) & \textbf{if } n \leq 1\\
|
||||
\sum_{i=0}^{n-1}\left( \frac{1}{n} 2\cdot E[T(i)] \right) + \Theta(n) & \textbf{otherwise}
|
||||
\end{cases}$$
|
||||
</section>
|
||||
|
||||
<section>
|
||||
$$E[T(n)] = \begin{cases}
|
||||
\Theta(1) & \textbf{if } n \leq 1\\
|
||||
\frac{2}{n}\left(\sum_{i=0}^{n-1} E[T(i)] \right) + \Theta(n) & \textbf{otherwise}
|
||||
\end{cases}$$
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>Back to induction...</p>
|
||||
|
||||
<p><b>Hypothesis: </b> $E[T(n)] \in O(n \log(n))$</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p><b>Base Case: </b> $E[T(1)] \in O(1 \log(1))$</p>
|
||||
|
||||
$$E[T(1)] \leq c \cdot (1 \log(1))$$
|
||||
$$E[T(1)] \leq c \cdot (1 \cdot 0)$$
|
||||
$$E[T(1)] \not \leq 0$$
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p><b>Base Case (take Two): </b> $E[T(2)] \in O(2 \log(2))$</p>
|
||||
|
||||
$$E[T(2)] \leq c \cdot (2 \log(2))$$
|
||||
$$2\cdot E_i[T(i-1)] + 2c_1 \leq 2c$$
|
||||
$$2\cdot \left(\frac{1}{2}T(0) + \frac{1}{2}T(1)\right) + 2c_1 \leq 2c$$
|
||||
$$T(0) + T(1) + 2c_1 \leq 2c$$
|
||||
$$2c_0 + 2c_1 \leq 2c$$
|
||||
<p>True for any $c \geq c_0 + c_1$</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p><b>Assume: </b> $E[T(n')] \leq c(n' \log(n'))$ for <b>all</b> $n' < n$</p>
|
||||
<p><b>Show: </b> $E[T(n)] \leq c(n \log(n))$</p>
|
||||
$$E[T(n)] \leq c \cdot (n \log(n))$$
|
||||
$$c\frac{2}{n}\left(\sum_{i=0}^{n-1} E[T(i)] \right) + c_1 \leq c n \log(n)$$
|
||||
$$c\frac{2}{n}\left(\sum_{i=0}^{n-1} i \log(i) \right) + c_1 \leq c n \log(n)$$
|
||||
$$c\frac{2}{n}\left(\sum_{i=0}^{n-1} i \log(n) \right) + c_1 \leq c n \log(n)$$
|
||||
$$c\frac{2 \log(n)}{n}\left(\sum_{i=0}^{n-1} i \right) + c_1 \leq c n \log(n)$$
|
||||
$$c\frac{2 \log(n)}{n}\left( \frac{(n-1)(n-1+1)}{2}\right) + c_1 \leq c n \log(n)$$
|
||||
$$c\frac{\log(n)}{n}\left(n^2 - n\right) + c_1 \leq c n \log(n)$$
|
||||
$$cn\log(n) - c\log(n) + c_1 \leq c n \log(n)$$
|
||||
$$c_1 \leq c\log(n)$$
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>$E[T_{quicksort}(n)] = O(n\log(n))$</p>
|
||||
|
||||
<p>So is Quicksort $O(n\log(n))$? <span class="fragment"><b>No!</b></span></p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>What if we always pick the worst pivot?</p>
|
||||
|
||||
<p>[8, 7, 6, 5, 4, 3, 2, 1]</p>
|
||||
<p>[7, 6, 5, 4, 3, 2, 1], 8, []</p>
|
||||
<p>[6, 5, 4, 3, 2, 1], 7, [], 8</p>
|
||||
<p>[5, 4, 3, 2, 1], 6, [], 7, 8</p>
|
||||
<p>...</p>
|
||||
|
||||
<p>$$T_{quicksort}(n) \in O(n^2)$$</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h4 class="slide_title">What guarantees do you get?</h4>
|
||||
<dl>
|
||||
<dt>$f(n)$ is a Tight Bound</dt>
|
||||
<dd>The algorithm <b>always</b> runs in $cf(n)$ steps</dd>
|
||||
|
||||
<dt>$f(n)$ is a Worst-Case Bound</dt>
|
||||
<dd>The algorithm <b>always</b> runs at-most $cf(n)$ steps</dd>
|
||||
|
||||
<dt>$f(n)$ is an Amortized Worst-Case Bound</dt>
|
||||
<dd>$n$ invocations of the algorithm <b>always</b> run in $cnf(n)$ steps</dd>
|
||||
|
||||
<dt>$f(n)$ is an Average Bound</dt>
|
||||
<dd>🤷</dd>
|
||||
</dl>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h4 class="slide_title">Next time...</h4>
|
||||
|
||||
<p>Special <tt>Seq</tt>uences: <tt>Stack</tt>, <tt>Queue</tt></p>
|
||||
</section>
|
||||
|
|
@ -0,0 +1,249 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="128.83632mm"
|
||||
height="29.751509mm"
|
||||
viewBox="0 0 128.83632 29.751509"
|
||||
version="1.1"
|
||||
id="svg4188"
|
||||
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
|
||||
sodipodi:docname="pivot-ideal.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="namedview4190"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.4923927"
|
||||
inkscape:cx="175.22198"
|
||||
inkscape:cy="82.417987"
|
||||
inkscape:window-width="901"
|
||||
inkscape:window-height="1133"
|
||||
inkscape:window-x="26"
|
||||
inkscape:window-y="23"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs4185">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="TriangleStart"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="TriangleStart"
|
||||
markerWidth="5.3244081"
|
||||
markerHeight="6.155385"
|
||||
viewBox="0 0 5.3244081 6.1553851"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135" />
|
||||
</marker>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-24.200683,-32.966519)">
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:0.3;stroke-dasharray:none"
|
||||
id="rect4244"
|
||||
width="120.27868"
|
||||
height="6.2306151"
|
||||
x="27.920832"
|
||||
y="44.980877" />
|
||||
<g
|
||||
id="g4441"
|
||||
transform="translate(-10.583334,25.929167)"
|
||||
class="fragment fade-out"
|
||||
data-fragment-index="2">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:0.3;stroke-dasharray:none;marker-end:url(#TriangleStart)"
|
||||
d="M 38.673883,32.75972 V 26.619177"
|
||||
id="path4352"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#ffffff;stroke:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="38.535217"
|
||||
y="36.718925"
|
||||
id="text4434"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4432"
|
||||
style="text-align:center;text-anchor:middle;fill:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="38.535217"
|
||||
y="36.718925">low</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g4579"
|
||||
transform="translate(109.53756)"
|
||||
class="fragment fade-out"
|
||||
data-fragment-index="3">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:0.3;stroke-dasharray:none;marker-end:url(#TriangleStart)"
|
||||
d="m 38.673883,37.724696 v 6.140543"
|
||||
id="path4573"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#ffffff;stroke:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="38.535217"
|
||||
y="36.718925"
|
||||
id="text4577"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4575"
|
||||
style="text-align:center;text-anchor:middle;fill:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="38.535217"
|
||||
y="36.718925">high</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g4877"
|
||||
class="fragment fade-out"
|
||||
data-fragment-index="4">
|
||||
<g
|
||||
id="g4795"
|
||||
class="fragment"
|
||||
data-fragment-index="1">
|
||||
<path
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
d="m 118.08552,46.284897 -2.03549,3.525573 h 3.86068 z"
|
||||
id="path4635" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
d="m 49.29384,49.810469 -2.03549,-3.525573 h 3.86068 z"
|
||||
id="path4637" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g4887"
|
||||
class="fragment fade-out"
|
||||
data-fragment-index="5">
|
||||
<g
|
||||
id="g4645"
|
||||
transform="translate(79.430683)"
|
||||
class="fragment"
|
||||
data-fragment-index="3">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:0.3;stroke-dasharray:none;marker-end:url(#TriangleStart)"
|
||||
d="m 38.673883,37.724696 v 6.140543"
|
||||
id="path4639"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#ffffff;stroke:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="38.535217"
|
||||
y="36.718925"
|
||||
id="text4643"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4641"
|
||||
style="text-align:center;text-anchor:middle;fill:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="38.535217"
|
||||
y="36.718925">high</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g4758"
|
||||
transform="translate(10.524454,25.929167)"
|
||||
class="fragment"
|
||||
data-fragment-index="2">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:0.3;stroke-dasharray:none;marker-end:url(#TriangleStart)"
|
||||
d="M 38.673883,32.75972 V 26.619177"
|
||||
id="path4752"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#ffffff;stroke:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="38.535217"
|
||||
y="36.718925"
|
||||
id="text4756"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4754"
|
||||
style="text-align:center;text-anchor:middle;fill:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="38.535217"
|
||||
y="36.718925">low</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
d="m 101.73564,54.968827 -0.0402,6.234472"
|
||||
id="path4760-9" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#000000;stroke-width:1.2;stroke-dasharray:none"
|
||||
d="m 88.110677,45.150432 -0.0402,6.234472"
|
||||
id="path4791" />
|
||||
<g
|
||||
id="g4801"
|
||||
transform="matrix(-1,0,0,1,167.16906,0)"
|
||||
class="fragment"
|
||||
data-fragment-index="4">
|
||||
<path
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
d="m 118.08552,46.284897 -2.03549,3.525573 h 3.86068 z"
|
||||
id="path4797" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
d="m 49.29384,49.810469 -2.03549,-3.525573 h 3.86068 z"
|
||||
id="path4799" />
|
||||
</g>
|
||||
<g
|
||||
id="g4897"
|
||||
class="fragment"
|
||||
data-fragment-index="5">
|
||||
<g
|
||||
id="g4809"
|
||||
transform="translate(49.426341,25.929167)">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:0.3;stroke-dasharray:none;marker-end:url(#TriangleStart)"
|
||||
d="M 38.673883,32.75972 V 26.619177"
|
||||
id="path4803"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#ffffff;stroke:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="38.535217"
|
||||
y="36.718925"
|
||||
id="text4807"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4805"
|
||||
style="text-align:center;text-anchor:middle;fill:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="38.535217"
|
||||
y="36.718925">low</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g4817"
|
||||
transform="translate(49.54089)">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:0.3;stroke-dasharray:none;marker-end:url(#TriangleStart)"
|
||||
d="m 38.673883,37.724696 v 6.140543"
|
||||
id="path4811"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#ffffff;stroke:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="38.535217"
|
||||
y="36.718925"
|
||||
id="text4815"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4813"
|
||||
style="text-align:center;text-anchor:middle;fill:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="38.535217"
|
||||
y="36.718925">high</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 8.9 KiB |
|
@ -0,0 +1,681 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="66.155151mm"
|
||||
height="75.67411mm"
|
||||
viewBox="0 0 66.155151 75.674112"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
|
||||
sodipodi:docname="quicksort-ideal.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="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="2.1304557"
|
||||
inkscape:cx="105.8459"
|
||||
inkscape:cy="150.67199"
|
||||
inkscape:window-width="901"
|
||||
inkscape:window-height="1133"
|
||||
inkscape:window-x="26"
|
||||
inkscape:window-y="23"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="TriangleStart"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="TriangleStart"
|
||||
markerWidth="5.3244081"
|
||||
markerHeight="6.155385"
|
||||
viewBox="0 0 5.3244081 6.1553851"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135" />
|
||||
</marker>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-22.262749,-7.6120634)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="30.768148"
|
||||
y="15.499356"
|
||||
id="text1311"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1309"
|
||||
style="fill:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="30.768148"
|
||||
y="15.499356">1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="67.348427"
|
||||
y="15.531913"
|
||||
id="text1315"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1313"
|
||||
style="fill:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="67.348427"
|
||||
y="15.531913">2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="49.168015"
|
||||
y="15.496945"
|
||||
id="text2981"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2979"
|
||||
style="stroke-width:0"
|
||||
x="49.168015"
|
||||
y="15.496945">3</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="39.946377"
|
||||
y="15.499356"
|
||||
id="text2985"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2983"
|
||||
style="stroke-width:0"
|
||||
x="39.946377"
|
||||
y="15.499356">4</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="58.266659"
|
||||
y="15.464389"
|
||||
id="text3039"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3037"
|
||||
style="stroke-width:0"
|
||||
x="58.266659"
|
||||
y="15.464389">5</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="76.384369"
|
||||
y="15.496945"
|
||||
id="text3043"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3041"
|
||||
style="stroke-width:0"
|
||||
x="76.384369"
|
||||
y="15.496945">6</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="21.857605"
|
||||
y="15.499356"
|
||||
id="text3047"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3045"
|
||||
style="stroke-width:0"
|
||||
x="21.857605"
|
||||
y="15.499356">7</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="85.613243"
|
||||
y="15.496945"
|
||||
id="text3051"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3049"
|
||||
style="stroke-width:0"
|
||||
x="85.613243"
|
||||
y="15.496945">8</tspan></text>
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:1;stroke-dasharray:none"
|
||||
d="M 55.281241,7.6120634 V 19.786173"
|
||||
id="path3115"
|
||||
class="fragment"
|
||||
data-fragment-index="1" />
|
||||
<g
|
||||
id="g3952"
|
||||
class="fragment"
|
||||
data-fragment-index="2">
|
||||
<g
|
||||
id="g3424">
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:0.3;stroke-dasharray:none;marker-end:url(#TriangleStart)"
|
||||
d="M 67.545812,16.749285 26.075735,27.008137"
|
||||
id="path3193" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:0.3;stroke-dasharray:none;marker-end:url(#TriangleStart)"
|
||||
d="M 25.077607,16.749285 66.547684,27.008137"
|
||||
id="path3412" />
|
||||
</g>
|
||||
<g
|
||||
id="g3636">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="30.768148"
|
||||
y="31.374357"
|
||||
id="text3161"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3159"
|
||||
style="fill:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="30.768148"
|
||||
y="31.374357">1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="21.915483"
|
||||
y="31.406912"
|
||||
id="text3165"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3163"
|
||||
style="fill:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="21.915483"
|
||||
y="31.406912">2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="49.168015"
|
||||
y="31.371946"
|
||||
id="text3169"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3167"
|
||||
style="stroke-width:0"
|
||||
x="49.168015"
|
||||
y="31.371946">3</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="39.946377"
|
||||
y="31.374357"
|
||||
id="text3173"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3171"
|
||||
style="stroke-width:0"
|
||||
x="39.946377"
|
||||
y="31.374357">4</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="58.266659"
|
||||
y="31.339388"
|
||||
id="text3177"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3175"
|
||||
style="stroke-width:0"
|
||||
x="58.266659"
|
||||
y="31.339388">5</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="76.384369"
|
||||
y="31.371946"
|
||||
id="text3181"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3179"
|
||||
style="stroke-width:0"
|
||||
x="76.384369"
|
||||
y="31.371946">6</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="67.29055"
|
||||
y="31.374357"
|
||||
id="text3185"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3183"
|
||||
style="stroke-width:0"
|
||||
x="67.29055"
|
||||
y="31.374357">7</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="85.613243"
|
||||
y="31.371946"
|
||||
id="text3189"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3187"
|
||||
style="stroke-width:0"
|
||||
x="85.613243"
|
||||
y="31.371946">8</tspan></text>
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:1;stroke-dasharray:none"
|
||||
d="m 55.281241,23.487064 v 12.17411"
|
||||
id="path3191" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:1;stroke-dasharray:none"
|
||||
d="m 27.937071,23.487064 v 12.17411"
|
||||
id="path3476"
|
||||
class="fragment"
|
||||
data-fragment-index="4" />
|
||||
<g
|
||||
id="g3977"
|
||||
class="fragment"
|
||||
data-fragment-index="5">
|
||||
<g
|
||||
id="g3678"
|
||||
transform="translate(0,-15.875)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="21.805758"
|
||||
y="63.124363"
|
||||
id="text3480"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3478"
|
||||
style="fill:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="21.805758"
|
||||
y="63.124363">1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="30.877874"
|
||||
y="63.156918"
|
||||
id="text3484"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3482"
|
||||
style="fill:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="30.877874"
|
||||
y="63.156918">2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="49.168015"
|
||||
y="63.121952"
|
||||
id="text3488"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3486"
|
||||
style="stroke-width:0"
|
||||
x="49.168015"
|
||||
y="63.121952">3</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="39.946377"
|
||||
y="63.124363"
|
||||
id="text3492"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3490"
|
||||
style="stroke-width:0"
|
||||
x="39.946377"
|
||||
y="63.124363">4</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="58.266659"
|
||||
y="63.089394"
|
||||
id="text3496"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3494"
|
||||
style="stroke-width:0"
|
||||
x="58.266659"
|
||||
y="63.089394">5</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="76.384369"
|
||||
y="63.121952"
|
||||
id="text3500"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3498"
|
||||
style="stroke-width:0"
|
||||
x="76.384369"
|
||||
y="63.121952">6</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="67.29055"
|
||||
y="63.124363"
|
||||
id="text3504"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3502"
|
||||
style="stroke-width:0"
|
||||
x="67.29055"
|
||||
y="63.124363">7</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="85.613243"
|
||||
y="63.121952"
|
||||
id="text3508"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3506"
|
||||
style="stroke-width:0"
|
||||
x="85.613243"
|
||||
y="63.121952">8</tspan></text>
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:1;stroke-dasharray:none"
|
||||
d="m 55.281241,55.237066 v 12.17411"
|
||||
id="path3510" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:1;stroke-dasharray:none"
|
||||
d="m 36.760405,55.237066 v 12.17411"
|
||||
id="path3512" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:1;stroke-dasharray:none"
|
||||
d="m 27.937071,55.237066 v 12.17411"
|
||||
id="path3514"
|
||||
class="fragment fade-out"
|
||||
data-fragment-index="6" />
|
||||
</g>
|
||||
<g
|
||||
id="g3520"
|
||||
transform="translate(-1.0583333,15.345833)">
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:0.3;stroke-dasharray:none;marker-end:url(#TriangleStart)"
|
||||
d="m 33.679145,16.749285 -7.60341,10.258852"
|
||||
id="path3516"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:0.3;stroke-dasharray:none;marker-end:url(#TriangleStart)"
|
||||
d="m 25.077607,16.749285 7.60341,10.258852"
|
||||
id="path3518"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:1;stroke-dasharray:none"
|
||||
d="m 36.760405,23.487064 v 12.17411"
|
||||
id="path3438"
|
||||
class="fragment"
|
||||
data-fragment-index="3" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:1;stroke-dasharray:none"
|
||||
d="m 45.92874,39.362064 v 12.17411"
|
||||
id="path3781"
|
||||
class="fragment"
|
||||
data-fragment-index="6" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:1;stroke-dasharray:none"
|
||||
d="m 73.445409,55.237065 v 12.17411"
|
||||
id="path3806"
|
||||
class="fragment"
|
||||
data-fragment-index="8" />
|
||||
<g
|
||||
id="g4002"
|
||||
class="fragment"
|
||||
data-fragment-index="7">
|
||||
<g
|
||||
id="g3804"
|
||||
transform="translate(0,-15.875)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="21.805758"
|
||||
y="78.999359"
|
||||
id="text3682"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3680"
|
||||
style="fill:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="21.805758"
|
||||
y="78.999359">1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="30.877874"
|
||||
y="79.031921"
|
||||
id="text3686"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3684"
|
||||
style="fill:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="30.877874"
|
||||
y="79.031921">2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="39.937935"
|
||||
y="78.996948"
|
||||
id="text3690"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3688"
|
||||
style="stroke-width:0"
|
||||
x="39.937935"
|
||||
y="78.996948">3</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="49.176456"
|
||||
y="78.999359"
|
||||
id="text3694"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3692"
|
||||
style="stroke-width:0"
|
||||
x="49.176456"
|
||||
y="78.999359">4</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="58.266659"
|
||||
y="78.964394"
|
||||
id="text3698"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3696"
|
||||
style="stroke-width:0"
|
||||
x="58.266659"
|
||||
y="78.964394">5</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="76.384369"
|
||||
y="78.996948"
|
||||
id="text3702"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3700"
|
||||
style="stroke-width:0"
|
||||
x="76.384369"
|
||||
y="78.996948">6</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="67.29055"
|
||||
y="78.999359"
|
||||
id="text3706"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3704"
|
||||
style="stroke-width:0"
|
||||
x="67.29055"
|
||||
y="78.999359">7</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="85.613243"
|
||||
y="78.996948"
|
||||
id="text3710"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3708"
|
||||
style="stroke-width:0"
|
||||
x="85.613243"
|
||||
y="78.996948">8</tspan></text>
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:1;stroke-dasharray:none"
|
||||
d="m 55.281241,71.112066 v 12.17411"
|
||||
id="path3712" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:1;stroke-dasharray:none"
|
||||
d="m 36.760405,71.112066 v 12.17411"
|
||||
id="path3714"
|
||||
class="fragment fade-out"
|
||||
data-fragment-index="8" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:1;stroke-dasharray:none"
|
||||
d="m 45.92874,71.112066 v 12.17411"
|
||||
id="path3783"
|
||||
class="fragment fade-out"
|
||||
data-fragment-index="8" />
|
||||
</g>
|
||||
<g
|
||||
id="g3894"
|
||||
transform="translate(16.933335,31.220834)">
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:0.3;stroke-dasharray:none;marker-end:url(#TriangleStart)"
|
||||
d="m 33.679145,16.749285 -7.60341,10.258852"
|
||||
id="path3890"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:0.3;stroke-dasharray:none;marker-end:url(#TriangleStart)"
|
||||
d="m 25.077607,16.749285 7.60341,10.258852"
|
||||
id="path3892"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g4027"
|
||||
class="fragment"
|
||||
data-fragment-index="9">
|
||||
<g
|
||||
id="g3888"
|
||||
transform="translate(0,-15.875)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="21.805758"
|
||||
y="94.874359"
|
||||
id="text3810"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3808"
|
||||
style="fill:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="21.805758"
|
||||
y="94.874359">1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="30.877874"
|
||||
y="94.906921"
|
||||
id="text3814"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3812"
|
||||
style="fill:#000000;stroke-width:0;stroke-dasharray:none"
|
||||
x="30.877874"
|
||||
y="94.906921">2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="39.937935"
|
||||
y="94.871948"
|
||||
id="text3818"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3816"
|
||||
style="stroke-width:0"
|
||||
x="39.937935"
|
||||
y="94.871948">3</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="49.176456"
|
||||
y="94.874359"
|
||||
id="text3822"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3820"
|
||||
style="stroke-width:0"
|
||||
x="49.176456"
|
||||
y="94.874359">4</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="58.266659"
|
||||
y="94.839394"
|
||||
id="text3826"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3824"
|
||||
style="stroke-width:0"
|
||||
x="58.266659"
|
||||
y="94.839394">5</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="67.265228"
|
||||
y="94.871948"
|
||||
id="text3830"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3828"
|
||||
style="stroke-width:0"
|
||||
x="67.265228"
|
||||
y="94.871948">6</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="76.409691"
|
||||
y="94.874359"
|
||||
id="text3834"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3832"
|
||||
style="stroke-width:0"
|
||||
x="76.409691"
|
||||
y="94.874359">7</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.9389px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:#4d4d4d;stroke-width:0;stroke-dasharray:none"
|
||||
x="85.613243"
|
||||
y="94.871948"
|
||||
id="text3838"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3836"
|
||||
style="stroke-width:0"
|
||||
x="85.613243"
|
||||
y="94.871948">8</tspan></text>
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:1;stroke-dasharray:none"
|
||||
d="m 55.281241,86.987066 v 12.17411"
|
||||
id="path3840" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:1;stroke-dasharray:none"
|
||||
d="m 36.760405,86.987066 v 12.17411"
|
||||
id="path3842" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:1;stroke-dasharray:none"
|
||||
d="m 73.445409,86.987067 v 12.17411"
|
||||
id="path3848" />
|
||||
</g>
|
||||
<g
|
||||
id="g3900"
|
||||
transform="translate(43.39167,47.095835)">
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:0.3;stroke-dasharray:none;marker-end:url(#TriangleStart)"
|
||||
d="m 33.679145,16.749285 -7.60341,10.258852"
|
||||
id="path3896"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:0.3;stroke-dasharray:none;marker-end:url(#TriangleStart)"
|
||||
d="m 25.077607,16.749285 7.60341,10.258852"
|
||||
id="path3898"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g4031"
|
||||
class="fragment"
|
||||
data-fragment-index="10">
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:1;stroke-dasharray:none"
|
||||
d="M 64.805023,71.112068 V 83.286172"
|
||||
id="path3848-3" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#4d4d4d;stroke-width:1;stroke-dasharray:none"
|
||||
d="M 82.267525,71.112068 V 83.286172"
|
||||
id="path3929" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 26 KiB |
Loading…
Reference in New Issue