]> mj.ucw.cz Git - ads2.git/commitdiff
Bitonicke trideni, nakonec presunuto do kapitoly o hradlech
authorMartin Mares <mj@ucw.cz>
Sat, 19 Nov 2011 21:03:40 +0000 (22:03 +0100)
committerMartin Mares <mj@ucw.cz>
Sat, 19 Nov 2011 21:03:40 +0000 (22:03 +0100)
23 files changed:
5-hradla/5-hradla.tex
5-hradla/sortnet.0 [new file with mode: 0644]
5-hradla/sortnet.1 [new file with mode: 0644]
5-hradla/sortnet.2 [new file with mode: 0644]
5-hradla/sortnet.3 [new file with mode: 0644]
5-hradla/sortnet.4 [new file with mode: 0644]
5-hradla/sortnet.5 [new file with mode: 0644]
5-hradla/sortnet.6 [new file with mode: 0644]
5-hradla/sortnet.7 [new file with mode: 0644]
5-hradla/sortnet.mp [new file with mode: 0644]
5-hradla/sortnet.mpx [new file with mode: 0644]
6-bitonic/6-bitonic.tex [deleted file]
6-bitonic/Makefile [deleted file]
6-bitonic/sortnet.0 [deleted file]
6-bitonic/sortnet.1 [deleted file]
6-bitonic/sortnet.2 [deleted file]
6-bitonic/sortnet.3 [deleted file]
6-bitonic/sortnet.4 [deleted file]
6-bitonic/sortnet.5 [deleted file]
6-bitonic/sortnet.6 [deleted file]
6-bitonic/sortnet.7 [deleted file]
6-bitonic/sortnet.mp [deleted file]
6-bitonic/sortnet.mpx [deleted file]

index c47a8b3ae31489378e3b2bbc42ea541e952c963a..5e8b6956081612d6a9ee3cafff172b6155d7c980 100644 (file)
@@ -370,4 +370,167 @@ kter
 hladin kompresorù konstantní hloubky a nakonec jednu sèítaèku hloubky $\Theta(\log n)$.
 Jistou vadou na kráse ov¹em je, ¾e na to potøebujeme $\Theta(n^2)$ hradel.
 
+\h{Tøídící sítì}
+
+Je¹tì zkusíme paralelizovat jeden klasický problém, toti¾ tøídìní.
+Budeme k~tomu pou¾ívat {\I komparátorovou sí»} -- to je hradlová sí»
+slo¾ená z~{\I komparátorù.}
+
+Jeden komparátor umí porovnat dvì hodnoty a~rozhodnout, která z~nich je vìt¹í
+a~která men¹í. Nevrací v¹ak booleovský výsledek jako bì¾né hradlo, ale má dva
+výstupy: na~jednom z~nich vrací men¹í ze~vstupních hodnot a~na~druhém tu vìt¹í.
+
+\figure{sortnet.0}{Komparátor}{0.7in}
+
+V~na¹em formalismu hradlových sítí bychom mohli komparátor reprezentovat dvojicí
+hradel: jedno z~nich by poèítalo minimum, druhé maximum. Hodnoty, které tøídíme,
+bychom prostì pova¾ovali za prvky abecedy.\foot{Komparátorovou sí» mù¾eme také snadno
+pøelo¾it na booleovský obvod. Ka¾dý prvek abecedy reprezentujeme èíslem
+o~$b=\lceil\log_2 \Sigma\rceil$ bitech. Zpùsobem podobným paralelní sèítaèce
+lze z~booleovských hradel sestrojit komparátor hloubky $\Theta(\log b)$. Zkuste to.}
+
+Je¹tì se dohodnìme, ¾e výstupy komparátorù se nikdy nebudou vìtvit. Ka¾dý
+z~nich pøivedeme na~vstup jiného komparátoru nebo na~výstup sítì. Vìtvení
+by nám ostatnì k~nièemu nebylo, proto¾e na~výstupu potøebujeme vydat stejný
+poèet hodnot, jako byl na vstupu, a nemáme ¾ádné hradlo, kterým bychom mohli
+pøípadných více vìtví slouèit opìt do~jedné.
+
+\s{Pøíklad:} Zkusíme do øeèi komparátorových sítí pøelo¾it {\I bublinkové tøídìní.}
+Z~nìj získáme obvod na~levém obrázku (¹ipky pøedstavují jednotlivé komparátory).
+Toto nakreslení ov¹em ponìkud klame -- pokud sí» necháme poèítat, mnohá porovnání
+budou probíhat paralelnì. Skuteèný prùbìh výpoètu znázoròuje pravý obrázek,
+na~nìm¾ jsme v¹echny operace provádìné souèasnì znázornili vedle sebe.
+Ihned vidíme, ¾e paralelní bublinkové tøídìní pracuje v~èase $\Theta(n)$
+a potøebuje kvadratický poèet komparátorù.
+
+\twofigures{sortnet.1}{Bubblesort}{143pt}{sortnet.2}{Skuteèný prùbìh výpoètu}{143pt}
+
+Nyní si pøedvedeme rychlej¹í tøídící algoritmus. Pùjdeme na nìj jak se øíká \uv{od lesa}.
+Nejdøíve vymyslíme sí», která bude umìt tøídit jenom nìco -- toti¾ bitonické posloupnosti.
+Pak z~ní teprve sestrojíme obecné tøidìní. Bez újmy na obecnosti pøitom budeme
+pøedpokládat, ¾e ka¾dé dva prvky na vstupu jsou navzájem rùzné a ¾e velikost vstupu
+je mocnina dvojky.
+
+\s{Definice:} Posloupnost $x_0,\dots,x_{n-1} $ je {\I èistì bitonická,} pokud ji mù¾eme
+rozdìlit na nìjaké pozici $k\in\{0, \dots, n-1\}$ tak, ¾e prvky $x_0,\ldots,x_k$ tvoøí rostoucí
+poslopnost, zatímco prvky $x_k,\ldots,x_{n-1}$ tvoøí posloupnost klesající.
+
+\s{Definice:} Posloupnost $x_0,\dots,x_{n-1}$ je {\I bitonická}, pokud ji lze získat
+rotací (cyklickým posunutím) nìjaké èistì bitonické posloupnosti. Jinými slovy pokud existuje
+$0\le j<n$ takové, ¾e posloupnost $x_j,x_{(j+1) \bmod n},\dots, x_{(j+n-1) \bmod n}$
+je èistì bitonická.
+
+\s{Definice:} {\I Separátor øádu~$n$} je komparátorová sí»~$S_n$ se vstupy $x_0,\ldots,x_{n-1}$
+a výstupy $y_0,\ldots,y_{n-1}$, která dostane-li na~vstupu bitonickou posloupnost,
+vydá na výstup její permutaci s~následujícími vlastnostmi:
+
+\itemize\ibull
+\:$y_0,\ldots,y_{n/2-1}$ a $y_{n/2},\ldots,y_{n-1}$ jsou bitonické posloupnosti;
+\:$y_i < y_j$, kdykoliv $0\le i<n/2$ a $n/2\le j<n$.
+\endlist
+
+\>Jinak øeèeno, separátor rozdìlí bitonickou posloupnost na dvì polovièní
+a navíc jsou v¹echny prvky v~první polovinì men¹í ne¾ v¹echny v~té druhé.
+
+\s{Lemma:} Pro ka¾dé sudé~$n$ existuje separátor~$S_n$ konstantní hloubky,
+slo¾ený z~$\Theta(n)$ komparátorù.
+
+Dùkaz tohoto lemmatu si necháme na konec kapitoly. Nejprve pøedvedeme, k~èemu jsou
+separátory dobré.
+
+\s{Definice:} {\I Bitonická tøídièka øádu~$n$} je komparátorová sí»~$B_n$,
+která dostane-li na vstupu bitonickou posloupnost délky~$n$, vydá ji setøídìnou.
+
+\s{Lemma:} Pro libovolné $n=2^k$ existuje bitonická tøidièka~$B_n$ hloubky $\Theta(\log n)$
+s~$\Theta(n\log n)$ komparátory.
+
+\proof
+Konstrukce bitonické tøidièky je snadná: nejprve separátorem~$S_n$ zadanou bitonickou
+posloupnost rozdìlíme na dvì bitonické posloupnosti délky $n/2$,
+pak ka¾dou z~nich separátorem~$S_{n/2}$ na dvì délky $n/4$, atd.,
+a¾ získáme jednoprvkové bitonické posloupnosti ve~správném poøadí.
+Celkem pou¾ijeme~$\log n$ hladin slo¾ených z~$n$ separátorù, ka¾dá
+hladina má pøitom konstantní hloubku.
+\qed
+
+\figure{sortnet.5}{Bitonická tøidièka $B_n$}{\epsfxsize}
+
+Bitonické tøidièky nám nyní pomohou ke~konstrukci tøidièky na obecné posloupnosti.
+Ta bude zalo¾ena na tøídìní sléváním -- nejprve se tedy musíme nauèit slít dvì
+setøídìné posloupnosti do jedné.
+
+\s{Definice:} {\I Slévaèka øádu~$n$} je komparátorová sí»~$M_n$ s~$2\times n$
+vstupy a~$n$ výstupy, která dostane-li dvì setøídìné posloupnosti délky~$n$,
+vydá posloupnost vzniklou jejich slitím.
+
+\s{Lemma:} Pro $n=2^k$ existuje slévaèka~$M_n$ hloubky $\Theta(\log n)$
+s~$\Theta(n\log n)$ komparátory.
+
+\proof
+Staèí jednu vstupní posloupnost obrátit a \uv{pøilepit} za tu druhou. Tím vznikne
+bitonická posloupnost, jí¾ setøídíme bitonickou tøidièkou~$B_{2n}$.
+\qed
+
+\s{Definice:} {\I Tøídící sí» øádu~$n$} je komparátorová sí»~$T_n$ s~$n$~vstupy
+a~$n$~výstupy, která pro ka¾dý vstup vydá jeho setøídìnou permutaci.
+
+\s{Lemma:} Pro $n=2^k$ existuje tøídící sí»~$T_n$ hloubky $\Theta(\log^2 n)$
+slo¾ená z~$\Theta(n\log^2 n)$ komparátorù.
+
+\proof
+Sí» bude tøídit sléváním. Vstup rozdìlí na~$n$ jednoprvkových posloupností.
+Ty jsou jistì setøídìné, tak¾e je slévaèkami~$M_1$ mù¾eme slít do dvouprvkových
+setøídìných posloupností. Na ty pak aplikujeme slévaèky $M_2$, $M_4$, \dots, $M_{n/2}$,
+a¾ v¹echny èásti slijeme do jedné, setøídìné.
+
+Celkem provedeme $\log n$~krokù slévání, $i$-tý z~nich obsahuje slévaèky $M_{2^i}$
+a ty, jak u¾ víme, mají hloubku $\Theta(i)$. Celkový poèet vrstev tedy èiní
+$\Theta(1+2+3+\ldots+\log n) = \Theta(\log^2 n)$. Ka¾dý krok pøitom potøebuje
+$\Theta(n\log n)$ komparátorù, co¾ dává celkem $\Theta(n \log^2 n)$ komparátorù.
+\qed
+
+\figure{sortnet.6}{Tøidièka $T_8$}{\epsfxsize}
+
+\s{Konstrukce separátoru:} Zbývá dokázat, ¾e existují separátory konstantní
+hloubky. Vypadají pøekvapivì jednodu¹e: pro $i=0,\ldots,n/2-1$ zapojíme
+komparátor se vstupy $x_i$, $x_{i+n/2}$, jeho¾ minimum pøivedeme na~$y_i$
+a maximum na~$y_{i+n/2}$.
+
+\figure{sortnet.3}{Konstrukce separátoru}{\epsfxsize}
+
+Proè separátor separuje? Nejprve pøedpokládejme, ¾e vstupem je èistì bitonická
+posloupnost. Oznaème~$m$ polohu maxima této posloupnosti; maximum bez újmy
+na obecnosti le¾í v~první polovinì (jinak celý dùkaz provedeme \uv{zrcadlovì}).
+Oznaème dále~$k$ nejmen¹í index, pro který komparátor mezi $x_k$ a~$x_{k+n/2}$
+hodnoty prohodí, tedy $k=\min \{ i \mid x_i > x_{i+n/2} \}.$
+
+Jeliko¾ maximum je jedineèné, musí platit $x_m > x_{m+n/2}$, tak¾e~$k$
+existuje a navíc $0\le k\le m < n/2$. Také platí, ¾e pro ka¾dé~$i$ mezi
+$k$ a~$n/2$ u¾ komparátory musí prohazovat, proto¾e od~$x_k$ je posloupnost
+a¾ do konce klesající, tak¾e $x_i > x_{i+n/2}$.
+
+Separátor se tedy chová velice jednodu¹e: první polovina výstupu vznikne
+slepením rostoucího úseku $x_0,\ldots,x_{k-1}$ s~klesajícím úsekem $x_{n/2+k},\ldots,x_{n-1}$;
+druhou polovinu tvoøí spojení klesajícího úseku $x_{n/2},\ldots,x_{n/2+k-1}$, rostoucího
+úseku $x_k,\ldots,x_m$ a klesajícího úseku $x_m,\ldots,x_{n/2-1}$. První polovina
+je èistì bitonická a jeliko¾ $x_{n/2-1} > x_{n/2}$, je druhá polovina bitonická
+(ov¹em obvykle ne èistì).
+
+\figure{sortnet.7}{Ilustrace èinnosti separátoru}{\epsfxsize}
+
+Doplòme, co se stane, pokud vstup není èistì bitonický. Zde vyu¾ijeme
+toho, ¾e pokud vstup separátoru zrotujeme o~$p$ pozic, dostaneme o~$p$ pozic
+zrotované i obì poloviny výstupu. Podle definice ov¹em pro ka¾dou bitonickou
+posloupnost existuje její rotace, která je èistì bitonická, a~pro ní¾, jak
+u¾ víme, separátor funguje. Tak¾e pro neèistou bitonickou posloupnost musí
+vydat výsledek pouze zrotovaný, co¾ ov¹em na jeho správnosti nic nemìní.
+\qed
+
+Ukázali jsme tedy paralelní tøídící algoritmus o~slo¾itosti $\Theta(\log^2 n)$
+slo¾ený z~$\Theta(n\log^2 n)$ komparátorù.
+
+Dodejme je¹tì, ¾e existuje i~tøídicí algoritmus, kterému staèí jen $\O(\log n)$
+hladin. Jeho multiplikativní konstanta je v¹ak pøíli¹ veliká, tak¾e je v~praxi
+nepou¾itelný.
+
 \bye
diff --git a/5-hradla/sortnet.0 b/5-hradla/sortnet.0
new file mode 100644 (file)
index 0000000..4566381
--- /dev/null
@@ -0,0 +1,67 @@
+%!PS
+%%BoundingBox: -1 19 60 100 
+%%HiResBoundingBox: -0.19925 19.64323 59.7267 99.41167 
+%%Creator: MetaPost 1.208
+%%CreationDate: 2011.11.19:2203
+%%Pages: 1
+%*Font: cmr10 9.96265 9.96265 61:c08c01
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0 0 setrgbcolor 0 0.3985 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit
+newpath 0 39.68497 moveto
+19.84248 39.68497 lineto
+39.68497 39.68497 lineto
+59.52745 39.68497 lineto
+59.52745 79.36993 lineto
+39.68497 79.36993 lineto
+19.84248 79.36993 lineto
+0 79.36993 lineto
+0 39.68497 lineto stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 19.84248 39.68497 moveto
+19.84248 19.84248 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 18.69446 22.61398 moveto
+19.84248 19.84248 lineto
+20.99051 22.61398 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 39.68497 39.68497 moveto
+39.68497 19.84248 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 38.53694 22.61398 moveto
+39.68497 19.84248 lineto
+40.833 22.61398 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 19.84248 99.21242 moveto
+19.84248 79.36993 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 18.69446 82.14143 moveto
+19.84248 79.36993 lineto
+20.99051 82.14143 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 39.68497 99.21242 moveto
+39.68497 79.36993 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 38.53694 82.14143 moveto
+39.68497 79.36993 lineto
+40.833 82.14143 lineto
+ closepath
+gsave fill grestore stroke
+17.35184 67.90173 moveto
+(a) cmr10 9.96265 fshow
+36.91756 67.90173 moveto
+(b) cmr10 9.96265 fshow
+11.54022 42.68497 moveto
+(min) cmr10 9.96265 fshow
+30.41417 42.68497 moveto
+(max) cmr10 9.96265 fshow
+showpage
+%%EOF
diff --git a/5-hradla/sortnet.1 b/5-hradla/sortnet.1
new file mode 100644 (file)
index 0000000..4c20174
--- /dev/null
@@ -0,0 +1,114 @@
+%!PS
+%%BoundingBox: -15 -1 128 166 
+%%HiResBoundingBox: -14.5219 -0.19925 127.90752 165.32562 
+%%Creator: MetaPost 1.208
+%%CreationDate: 2011.11.19:2203
+%%Pages: 1
+%*Font: cmr10 9.96265 9.96265 31:f80000000000c08c01
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0 0 setrgbcolor 0.3985
+ 0 dtransform exch truncate exch idtransform pop setlinewidth [] 0 setdash
+ 1 setlinecap 1 setlinejoin 10 setmiterlimit
+newpath 0 0 moveto
+0 155.90523 lineto stroke
+newpath 28.3464 0 moveto
+28.3464 155.90523 lineto stroke
+newpath 56.69281 0 moveto
+56.69281 155.90523 lineto stroke
+newpath 85.03922 0 moveto
+85.03922 155.90523 lineto stroke
+newpath 113.38562 0 moveto
+113.38562 155.90523 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 0 14.1732 moveto
+28.3464 14.1732 lineto stroke
+newpath 25.57474 13.02512 moveto
+28.3464 14.1732 lineto
+25.57474 15.32129 lineto
+ closepath
+gsave fill grestore stroke
+newpath 0 42.5196 moveto
+28.3464 42.5196 lineto stroke
+newpath 25.57474 41.37152 moveto
+28.3464 42.5196 lineto
+25.57474 43.6677 lineto
+ closepath
+gsave fill grestore stroke
+newpath 0 85.03922 moveto
+28.3464 85.03922 lineto stroke
+newpath 25.57474 83.89113 moveto
+28.3464 85.03922 lineto
+25.57474 86.1873 lineto
+ closepath
+gsave fill grestore stroke
+newpath 0 141.73203 moveto
+28.3464 141.73203 lineto stroke
+newpath 25.57474 140.58394 moveto
+28.3464 141.73203 lineto
+25.57474 142.88011 lineto
+ closepath
+gsave fill grestore stroke
+newpath 28.3464 28.3464 moveto
+56.69281 28.3464 lineto stroke
+newpath 53.92114 27.19832 moveto
+56.69281 28.3464 lineto
+53.92114 29.49449 lineto
+ closepath
+gsave fill grestore stroke
+newpath 28.3464 70.86601 moveto
+56.69281 70.86601 lineto stroke
+newpath 53.92114 69.71793 moveto
+56.69281 70.86601 lineto
+53.92114 72.0141 lineto
+ closepath
+gsave fill grestore stroke
+newpath 28.3464 127.55882 moveto
+56.69281 127.55882 lineto stroke
+newpath 53.92114 126.41074 moveto
+56.69281 127.55882 lineto
+53.92114 128.70691 lineto
+ closepath
+gsave fill grestore stroke
+newpath 56.69281 56.69281 moveto
+85.03922 56.69281 lineto stroke
+newpath 82.26755 55.54472 moveto
+85.03922 56.69281 lineto
+82.26755 57.8409 lineto
+ closepath
+gsave fill grestore stroke
+newpath 56.69281 113.38562 moveto
+85.03922 113.38562 lineto stroke
+newpath 82.26755 112.23753 moveto
+85.03922 113.38562 lineto
+82.26755 114.5337 lineto
+ closepath
+gsave fill grestore stroke
+newpath 85.03922 99.21242 moveto
+113.38562 99.21242 lineto stroke
+newpath 110.61395 98.06433 moveto
+113.38562 99.21242 lineto
+110.61395 100.3605 lineto
+ closepath
+gsave fill grestore stroke
+ 0 0.69739 dtransform truncate idtransform setlinewidth pop
+ [0 2.5 ] 1.25 setdash
+newpath -14.1732 21.25981 moveto
+127.55882 21.25981 lineto stroke
+newpath -14.1732 49.60622 moveto
+127.55882 49.60622 lineto stroke
+newpath -14.1732 92.12582 moveto
+127.55882 92.12582 lineto stroke
+-5.1197 158.90523 moveto
+(x1) cmr10 9.96265 fshow
+23.2267 158.90523 moveto
+(x2) cmr10 9.96265 fshow
+51.5731 158.90523 moveto
+(x3) cmr10 9.96265 fshow
+79.91951 158.90523 moveto
+(x4) cmr10 9.96265 fshow
+108.26591 158.90523 moveto
+(x5) cmr10 9.96265 fshow
+showpage
+%%EOF
diff --git a/5-hradla/sortnet.2 b/5-hradla/sortnet.2
new file mode 100644 (file)
index 0000000..adfbce1
--- /dev/null
@@ -0,0 +1,106 @@
+%!PS
+%%BoundingBox: -6 42 119 166 
+%%HiResBoundingBox: -5.1197 42.32036 118.50531 165.32562 
+%%Creator: MetaPost 1.208
+%%CreationDate: 2011.11.19:2203
+%%Pages: 1
+%*Font: cmr10 9.96265 9.96265 31:f80000000000c08c01
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0 0 setrgbcolor 0.3985
+ 0 dtransform exch truncate exch idtransform pop setlinewidth [] 0 setdash
+ 1 setlinecap 1 setlinejoin 10 setmiterlimit
+newpath 0 42.5196 moveto
+0 155.90523 lineto stroke
+newpath 28.3464 42.5196 moveto
+28.3464 155.90523 lineto stroke
+newpath 56.69281 42.5196 moveto
+56.69281 155.90523 lineto stroke
+newpath 85.03922 42.5196 moveto
+85.03922 155.90523 lineto stroke
+newpath 113.38562 42.5196 moveto
+113.38562 155.90523 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 0 56.69281 moveto
+28.3464 56.69281 lineto stroke
+newpath 25.57474 55.54472 moveto
+28.3464 56.69281 lineto
+25.57474 57.8409 lineto
+ closepath
+gsave fill grestore stroke
+newpath 0 85.03922 moveto
+28.3464 85.03922 lineto stroke
+newpath 25.57474 83.89113 moveto
+28.3464 85.03922 lineto
+25.57474 86.1873 lineto
+ closepath
+gsave fill grestore stroke
+newpath 0 113.38562 moveto
+28.3464 113.38562 lineto stroke
+newpath 25.57474 112.23753 moveto
+28.3464 113.38562 lineto
+25.57474 114.5337 lineto
+ closepath
+gsave fill grestore stroke
+newpath 0 141.73203 moveto
+28.3464 141.73203 lineto stroke
+newpath 25.57474 140.58394 moveto
+28.3464 141.73203 lineto
+25.57474 142.88011 lineto
+ closepath
+gsave fill grestore stroke
+newpath 28.3464 70.86601 moveto
+56.69281 70.86601 lineto stroke
+newpath 53.92114 69.71793 moveto
+56.69281 70.86601 lineto
+53.92114 72.0141 lineto
+ closepath
+gsave fill grestore stroke
+newpath 28.3464 99.21242 moveto
+56.69281 99.21242 lineto stroke
+newpath 53.92114 98.06433 moveto
+56.69281 99.21242 lineto
+53.92114 100.3605 lineto
+ closepath
+gsave fill grestore stroke
+newpath 28.3464 127.55882 moveto
+56.69281 127.55882 lineto stroke
+newpath 53.92114 126.41074 moveto
+56.69281 127.55882 lineto
+53.92114 128.70691 lineto
+ closepath
+gsave fill grestore stroke
+newpath 56.69281 85.03922 moveto
+85.03922 85.03922 lineto stroke
+newpath 82.26755 83.89113 moveto
+85.03922 85.03922 lineto
+82.26755 86.1873 lineto
+ closepath
+gsave fill grestore stroke
+newpath 56.69281 113.38562 moveto
+85.03922 113.38562 lineto stroke
+newpath 82.26755 112.23753 moveto
+85.03922 113.38562 lineto
+82.26755 114.5337 lineto
+ closepath
+gsave fill grestore stroke
+newpath 85.03922 99.21242 moveto
+113.38562 99.21242 lineto stroke
+newpath 110.61395 98.06433 moveto
+113.38562 99.21242 lineto
+110.61395 100.3605 lineto
+ closepath
+gsave fill grestore stroke
+-5.1197 158.90523 moveto
+(x1) cmr10 9.96265 fshow
+23.2267 158.90523 moveto
+(x2) cmr10 9.96265 fshow
+51.5731 158.90523 moveto
+(x3) cmr10 9.96265 fshow
+79.91951 158.90523 moveto
+(x4) cmr10 9.96265 fshow
+108.26591 158.90523 moveto
+(x5) cmr10 9.96265 fshow
+showpage
+%%EOF
diff --git a/5-hradla/sortnet.3 b/5-hradla/sortnet.3
new file mode 100644 (file)
index 0000000..a47c504
--- /dev/null
@@ -0,0 +1,142 @@
+%!PS
+%%BoundingBox: -6 -12 266 95 
+%%HiResBoundingBox: -5.08165 -11.1732 265.77504 94.65334 
+%%Creator: MetaPost 1.208
+%%CreationDate: 2011.11.19:2203
+%%Pages: 1
+%*Font: cmmi10 9.96265 9.96265 3a:8000000000000003
+%*Font: cmr7 6.97385 6.97385 30:e
+%*Font: cmmi7 6.97385 6.97385 6e:8
+%*Font: cmsy7 6.97385 6.97385 00:8
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0 0 setrgbcolor 0.3985
+ 0 dtransform exch truncate exch idtransform pop setlinewidth [] 0 setdash
+ 1 setlinecap 1 setlinejoin 10 setmiterlimit
+newpath 0 0 moveto
+0 85.03922 lineto stroke
+newpath 28.3464 0 moveto
+28.3464 85.03922 lineto stroke
+newpath 56.69281 0 moveto
+56.69281 85.03922 lineto stroke
+newpath 85.03922 0 moveto
+85.03922 85.03922 lineto stroke
+newpath 113.38562 0 moveto
+113.38562 85.03922 lineto stroke
+newpath 141.73203 0 moveto
+141.73203 85.03922 lineto stroke
+newpath 170.07843 0 moveto
+170.07843 85.03922 lineto stroke
+newpath 198.42484 0 moveto
+198.42484 85.03922 lineto stroke
+newpath 226.77124 0 moveto
+226.77124 85.03922 lineto stroke
+newpath 255.11765 0 moveto
+255.11765 85.03922 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 0 70.86601 moveto
+141.73203 70.86601 lineto stroke
+newpath 138.96078 69.7181 moveto
+141.73203 70.86601 lineto
+138.96078 72.01393 lineto
+ closepath
+gsave fill grestore stroke
+newpath 28.3464 56.69281 moveto
+170.07843 56.69281 lineto stroke
+newpath 167.30719 55.54489 moveto
+170.07843 56.69281 lineto
+167.30719 57.84073 lineto
+ closepath
+gsave fill grestore stroke
+newpath 56.69281 42.5196 moveto
+198.42484 42.5196 lineto stroke
+newpath 195.6536 41.37169 moveto
+198.42484 42.5196 lineto
+195.6536 43.66753 lineto
+ closepath
+gsave fill grestore stroke
+newpath 85.03922 28.3464 moveto
+226.77124 28.3464 lineto stroke
+newpath 224 27.19849 moveto
+226.77124 28.3464 lineto
+224 29.49432 lineto
+ closepath
+gsave fill grestore stroke
+newpath 113.38562 14.1732 moveto
+255.11765 14.1732 lineto stroke
+newpath 252.3464 13.02528 moveto
+255.11765 14.1732 lineto
+252.3464 15.32112 lineto
+ closepath
+gsave fill grestore stroke
+-5.08165 89.53363 moveto
+(x) cmmi10 9.96265 fshow
+0.61224 88.03923 moveto
+(0) cmr7 6.97385 fshow
+23.26476 89.53363 moveto
+(x) cmmi10 9.96265 fshow
+28.95865 88.03923 moveto
+(1) cmr7 6.97385 fshow
+51.61116 89.53363 moveto
+(x) cmmi10 9.96265 fshow
+57.30505 88.03923 moveto
+(2) cmr7 6.97385 fshow
+135.09032 88.03922 moveto
+(:) cmmi10 9.96265 fshow
+139.51811 88.03922 moveto
+(:) cmmi10 9.96265 fshow
+143.94592 88.03922 moveto
+(:) cmmi10 9.96265 fshow
+216.11383 90.36383 moveto
+(x) cmmi10 9.96265 fshow
+221.80772 88.86943 moveto
+(n) cmmi7 6.97385 fshow
+226.73264 88.86943 moveto
+(\000) cmsy7 6.97385 fshow
+232.95923 88.86943 moveto
+(2) cmr7 6.97385 fshow
+244.46024 90.36383 moveto
+(x) cmmi10 9.96265 fshow
+250.15413 88.86943 moveto
+(n) cmmi7 6.97385 fshow
+255.07904 88.86943 moveto
+(\000) cmsy7 6.97385 fshow
+261.30563 88.86943 moveto
+(1) cmr7 6.97385 fshow
+-4.67696 -9.23601 moveto
+(y) cmmi10 9.96265 fshow
+0.20755 -10.73041 moveto
+(0) cmr7 6.97385 fshow
+23.66945 -9.23601 moveto
+(y) cmmi10 9.96265 fshow
+28.55396 -10.73041 moveto
+(1) cmr7 6.97385 fshow
+52.01585 -9.23601 moveto
+(y) cmmi10 9.96265 fshow
+56.90036 -10.73041 moveto
+(2) cmr7 6.97385 fshow
+135.09032 -11.1732 moveto
+(:) cmmi10 9.96265 fshow
+139.51811 -11.1732 moveto
+(:) cmmi10 9.96265 fshow
+143.94592 -11.1732 moveto
+(:) cmmi10 9.96265 fshow
+216.51854 -8.84859 moveto
+(y) cmmi10 9.96265 fshow
+221.40305 -10.34299 moveto
+(n) cmmi7 6.97385 fshow
+226.32794 -10.34299 moveto
+(\000) cmsy7 6.97385 fshow
+232.55453 -10.34299 moveto
+(2) cmr7 6.97385 fshow
+244.86494 -8.84859 moveto
+(y) cmmi10 9.96265 fshow
+249.74945 -10.34299 moveto
+(n) cmmi7 6.97385 fshow
+254.67435 -10.34299 moveto
+(\000) cmsy7 6.97385 fshow
+260.90094 -10.34299 moveto
+(1) cmr7 6.97385 fshow
+showpage
+%%EOF
diff --git a/5-hradla/sortnet.4 b/5-hradla/sortnet.4
new file mode 100644 (file)
index 0000000..7fda675
--- /dev/null
@@ -0,0 +1,184 @@
+%!PS
+%%BoundingBox: -1 -1 213 100 
+%%HiResBoundingBox: -0.19925 -0.19925 212.79729 99.41167 
+%%Creator: MetaPost 1.208
+%%CreationDate: 2011.11.19:2203
+%%Pages: 1
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0 0 setrgbcolor 0 0.3985 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinejoin 10 setmiterlimit
+newpath 0 14.1732 moveto
+212.59804 14.1732 lineto
+212.59804 28.3464 lineto
+0 28.3464 lineto
+ closepath stroke
+newpath 0 42.5196 moveto
+99.21242 42.5196 lineto
+99.21242 56.69281 lineto
+0 56.69281 lineto
+ closepath stroke
+newpath 113.38562 42.5196 moveto
+212.59804 42.5196 lineto
+212.59804 56.69281 lineto
+113.38562 56.69281 lineto
+ closepath stroke
+newpath 0 70.86601 moveto
+42.5196 70.86601 lineto
+42.5196 85.03922 lineto
+0 85.03922 lineto
+ closepath stroke
+newpath 56.69281 70.86601 moveto
+99.21242 70.86601 lineto
+99.21242 85.03922 lineto
+56.69281 85.03922 lineto
+ closepath stroke
+newpath 113.38562 70.86601 moveto
+155.90523 70.86601 lineto
+155.90523 85.03922 lineto
+113.38562 85.03922 lineto
+ closepath stroke
+newpath 170.07843 70.86601 moveto
+212.59804 70.86601 lineto
+212.59804 85.03922 lineto
+170.07843 85.03922 lineto
+ closepath stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+ 1 setlinecap
+newpath 14.1732 99.21242 moveto
+14.1732 85.03922 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 13.02512 87.81088 moveto
+14.1732 85.03922 lineto
+15.32129 87.81088 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 28.3464 99.21242 moveto
+28.3464 85.03922 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 27.19832 87.81088 moveto
+28.3464 85.03922 lineto
+29.49449 87.81088 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 70.86601 99.21242 moveto
+70.86601 85.03922 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 69.71793 87.81088 moveto
+70.86601 85.03922 lineto
+72.0141 87.81088 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 85.03922 99.21242 moveto
+85.03922 85.03922 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 83.89113 87.81088 moveto
+85.03922 85.03922 lineto
+86.1873 87.81088 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 127.55882 99.21242 moveto
+127.55882 85.03922 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 126.41074 87.81088 moveto
+127.55882 85.03922 lineto
+128.70691 87.81088 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 141.73203 99.21242 moveto
+141.73203 85.03922 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 140.58394 87.81088 moveto
+141.73203 85.03922 lineto
+142.88011 87.81088 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 184.25163 99.21242 moveto
+184.25163 85.03922 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 183.10355 87.81088 moveto
+184.25163 85.03922 lineto
+185.39972 87.81088 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 198.42484 99.21242 moveto
+198.42484 85.03922 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 197.27675 87.81088 moveto
+198.42484 85.03922 lineto
+199.57292 87.81088 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 21.25981 70.86601 moveto
+21.25981 56.69281 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 20.11172 59.46448 moveto
+21.25981 56.69281 lineto
+22.4079 59.46448 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 77.95262 70.86601 moveto
+77.95262 56.69281 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 76.80453 59.46448 moveto
+77.95262 56.69281 lineto
+79.10071 59.46448 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 134.64543 70.86601 moveto
+134.64543 56.69281 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 133.49734 59.46448 moveto
+134.64543 56.69281 lineto
+135.79352 59.46448 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 191.33824 70.86601 moveto
+191.33824 56.69281 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 190.19016 59.46448 moveto
+191.33824 56.69281 lineto
+192.48633 59.46448 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 49.60622 42.5196 moveto
+49.60622 28.3464 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 48.45813 31.11807 moveto
+49.60622 28.3464 lineto
+50.7543 31.11807 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 162.99184 42.5196 moveto
+162.99184 28.3464 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 161.84375 31.11807 moveto
+162.99184 28.3464 lineto
+164.13992 31.11807 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 106.29903 14.1732 moveto
+106.29903 0 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 105.15094 2.77167 moveto
+106.29903 0 lineto
+107.44711 2.77167 lineto
+ closepath
+gsave fill grestore stroke
+showpage
+%%EOF
diff --git a/5-hradla/sortnet.5 b/5-hradla/sortnet.5
new file mode 100644 (file)
index 0000000..8e9dd3b
--- /dev/null
@@ -0,0 +1,207 @@
+%!PS
+%%BoundingBox: -1 13 213 114 
+%%HiResBoundingBox: -0.19925 13.97395 212.79729 113.58487 
+%%Creator: MetaPost 1.208
+%%CreationDate: 2011.11.19:2203
+%%Pages: 1
+%*Font: cmmi10 9.96265 9.96265 3a:8000004000000803
+%*Font: cmmi7 6.97385 6.97385 6e:8
+%*Font: cmmi5 4.98132 4.98132 6e:8
+%*Font: cmr5 4.98132 4.98132 32:a
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0 0 setrgbcolor 0 0.3985 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinejoin 10 setmiterlimit
+newpath 0 99.21242 moveto
+212.59804 99.21242 lineto
+212.59804 85.03922 lineto
+0 85.03922 lineto
+ closepath stroke
+newpath 0 70.86601 moveto
+99.21242 70.86601 lineto
+99.21242 56.69281 lineto
+0 56.69281 lineto
+ closepath stroke
+newpath 113.38562 70.86601 moveto
+212.59804 70.86601 lineto
+212.59804 56.69281 lineto
+113.38562 56.69281 lineto
+ closepath stroke
+newpath 0 42.5196 moveto
+42.5196 42.5196 lineto
+42.5196 28.3464 lineto
+0 28.3464 lineto
+ closepath stroke
+newpath 56.69281 42.5196 moveto
+99.21242 42.5196 lineto
+99.21242 28.3464 lineto
+56.69281 28.3464 lineto
+ closepath stroke
+newpath 113.38562 42.5196 moveto
+155.90523 42.5196 lineto
+155.90523 28.3464 lineto
+113.38562 28.3464 lineto
+ closepath stroke
+newpath 170.07843 42.5196 moveto
+212.59804 42.5196 lineto
+212.59804 28.3464 lineto
+170.07843 28.3464 lineto
+ closepath stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+ 1 setlinecap
+newpath 106.29903 113.38562 moveto
+106.29903 99.21242 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 105.15094 101.98409 moveto
+106.29903 99.21242 lineto
+107.44711 101.98409 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 21.25981 56.69281 moveto
+21.25981 42.5196 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 20.11172 45.29128 moveto
+21.25981 42.5196 lineto
+22.4079 45.29128 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 77.95262 56.69281 moveto
+77.95262 42.5196 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 76.80453 45.29128 moveto
+77.95262 42.5196 lineto
+79.10071 45.29128 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 134.64543 56.69281 moveto
+134.64543 42.5196 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 133.49734 45.29128 moveto
+134.64543 42.5196 lineto
+135.79352 45.29128 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 191.33824 56.69281 moveto
+191.33824 42.5196 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 190.19016 45.29128 moveto
+191.33824 42.5196 lineto
+192.48633 45.29128 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 49.60622 85.03922 moveto
+49.60622 70.86601 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 48.45813 73.63768 moveto
+49.60622 70.86601 lineto
+50.7543 73.63768 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 162.99184 85.03922 moveto
+162.99184 70.86601 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 161.84375 73.63768 moveto
+162.99184 70.86601 lineto
+164.13992 73.63768 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 21.25981 28.3464 moveto
+21.25981 14.1732 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 20.11172 16.94487 moveto
+21.25981 14.1732 lineto
+22.4079 16.94487 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 77.95262 28.3464 moveto
+77.95262 14.1732 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 76.80453 16.94487 moveto
+77.95262 14.1732 lineto
+79.10071 16.94487 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 134.64543 28.3464 moveto
+134.64543 14.1732 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 133.49734 16.94487 moveto
+134.64543 14.1732 lineto
+135.79352 16.94487 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 191.33824 28.3464 moveto
+191.33824 14.1732 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 190.19016 16.94487 moveto
+191.33824 14.1732 lineto
+192.48633 16.94487 lineto
+ closepath
+gsave fill grestore stroke
+98.21913 106.99612 moveto
+(n) cmmi10 9.96265 fshow
+100.53302 89.40462 moveto
+(S) cmmi10 9.96265 fshow
+106.64201 87.91022 moveto
+(n) cmmi7 6.97385 fshow
+42.91336 61.05821 moveto
+(S) cmmi10 9.96265 fshow
+50.21786 62.24112 moveto
+(n) cmmi5 4.98132 fshow
+ 0 setlinecap
+newpath 50.21786 61.30731 moveto
+54.60545 61.30731 lineto stroke
+50.71666 57.16331 moveto
+(2) cmr5 4.98132 fshow
+156.29898 61.05821 moveto
+(S) cmmi10 9.96265 fshow
+163.60349 62.24112 moveto
+(n) cmmi5 4.98132 fshow
+newpath 163.60349 61.30731 moveto
+167.99107 61.30731 lineto stroke
+164.10228 57.16331 moveto
+(2) cmr5 4.98132 fshow
+14.56696 32.7118 moveto
+(S) cmmi10 9.96265 fshow
+21.87146 33.89471 moveto
+(n) cmmi5 4.98132 fshow
+newpath 21.87146 32.9609 moveto
+26.25905 32.9609 lineto stroke
+22.37025 28.81691 moveto
+(4) cmr5 4.98132 fshow
+71.25977 32.7118 moveto
+(S) cmmi10 9.96265 fshow
+78.56427 33.89471 moveto
+(n) cmmi5 4.98132 fshow
+newpath 78.56427 32.9609 moveto
+82.95186 32.9609 lineto stroke
+79.06306 28.81691 moveto
+(4) cmr5 4.98132 fshow
+127.95258 32.7118 moveto
+(S) cmmi10 9.96265 fshow
+135.25708 33.89471 moveto
+(n) cmmi5 4.98132 fshow
+newpath 135.25708 32.9609 moveto
+139.64467 32.9609 lineto stroke
+135.75587 28.81691 moveto
+(4) cmr5 4.98132 fshow
+184.64539 32.7118 moveto
+(S) cmmi10 9.96265 fshow
+191.94989 33.89471 moveto
+(n) cmmi5 4.98132 fshow
+newpath 191.94989 32.9609 moveto
+196.33748 32.9609 lineto stroke
+192.44868 28.81691 moveto
+(4) cmr5 4.98132 fshow
+showpage
+%%EOF
diff --git a/5-hradla/sortnet.6 b/5-hradla/sortnet.6
new file mode 100644 (file)
index 0000000..2372c9e
--- /dev/null
@@ -0,0 +1,214 @@
+%!PS
+%%BoundingBox: -1 -1 213 100 
+%%HiResBoundingBox: -0.19925 -0.19925 212.79729 99.41167 
+%%Creator: MetaPost 1.208
+%%CreationDate: 2011.11.19:2203
+%%Pages: 1
+%*Font: cmmi10 9.96265 9.96265 3a:8000104000000803
+%*Font: cmr7 6.97385 6.97385 30:e8
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0 0 setrgbcolor 0 0.3985 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinejoin 10 setmiterlimit
+newpath 0 14.1732 moveto
+212.59804 14.1732 lineto
+212.59804 28.3464 lineto
+0 28.3464 lineto
+ closepath stroke
+newpath 0 42.5196 moveto
+99.21242 42.5196 lineto
+99.21242 56.69281 lineto
+0 56.69281 lineto
+ closepath stroke
+newpath 113.38562 42.5196 moveto
+212.59804 42.5196 lineto
+212.59804 56.69281 lineto
+113.38562 56.69281 lineto
+ closepath stroke
+newpath 0 70.86601 moveto
+42.5196 70.86601 lineto
+42.5196 85.03922 lineto
+0 85.03922 lineto
+ closepath stroke
+newpath 56.69281 70.86601 moveto
+99.21242 70.86601 lineto
+99.21242 85.03922 lineto
+56.69281 85.03922 lineto
+ closepath stroke
+newpath 113.38562 70.86601 moveto
+155.90523 70.86601 lineto
+155.90523 85.03922 lineto
+113.38562 85.03922 lineto
+ closepath stroke
+newpath 170.07843 70.86601 moveto
+212.59804 70.86601 lineto
+212.59804 85.03922 lineto
+170.07843 85.03922 lineto
+ closepath stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+ 1 setlinecap
+newpath 14.1732 99.21242 moveto
+14.1732 85.03922 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 13.02512 87.81088 moveto
+14.1732 85.03922 lineto
+15.32129 87.81088 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 28.3464 99.21242 moveto
+28.3464 85.03922 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 27.19832 87.81088 moveto
+28.3464 85.03922 lineto
+29.49449 87.81088 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 70.86601 99.21242 moveto
+70.86601 85.03922 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 69.71793 87.81088 moveto
+70.86601 85.03922 lineto
+72.0141 87.81088 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 85.03922 99.21242 moveto
+85.03922 85.03922 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 83.89113 87.81088 moveto
+85.03922 85.03922 lineto
+86.1873 87.81088 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 127.55882 99.21242 moveto
+127.55882 85.03922 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 126.41074 87.81088 moveto
+127.55882 85.03922 lineto
+128.70691 87.81088 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 141.73203 99.21242 moveto
+141.73203 85.03922 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 140.58394 87.81088 moveto
+141.73203 85.03922 lineto
+142.88011 87.81088 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 184.25163 99.21242 moveto
+184.25163 85.03922 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 183.10355 87.81088 moveto
+184.25163 85.03922 lineto
+185.39972 87.81088 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 198.42484 99.21242 moveto
+198.42484 85.03922 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 197.27675 87.81088 moveto
+198.42484 85.03922 lineto
+199.57292 87.81088 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 21.25981 70.86601 moveto
+21.25981 56.69281 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 20.11172 59.46448 moveto
+21.25981 56.69281 lineto
+22.4079 59.46448 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 77.95262 70.86601 moveto
+77.95262 56.69281 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 76.80453 59.46448 moveto
+77.95262 56.69281 lineto
+79.10071 59.46448 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 134.64543 70.86601 moveto
+134.64543 56.69281 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 133.49734 59.46448 moveto
+134.64543 56.69281 lineto
+135.79352 59.46448 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 191.33824 70.86601 moveto
+191.33824 56.69281 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 190.19016 59.46448 moveto
+191.33824 56.69281 lineto
+192.48633 59.46448 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 49.60622 42.5196 moveto
+49.60622 28.3464 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 48.45813 31.11807 moveto
+49.60622 28.3464 lineto
+50.7543 31.11807 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 162.99184 42.5196 moveto
+162.99184 28.3464 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 161.84375 31.11807 moveto
+162.99184 28.3464 lineto
+164.13992 31.11807 lineto
+ closepath
+gsave fill grestore stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 106.29903 14.1732 moveto
+106.29903 0 lineto stroke
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop
+newpath 105.15094 2.77167 moveto
+106.29903 0 lineto
+107.44711 2.77167 lineto
+ closepath
+gsave fill grestore stroke
+99.23177 18.66762 moveto
+(M) cmmi10 9.96265 fshow
+108.89697 17.17322 moveto
+(4) cmr7 6.97385 fshow
+42.53896 47.01402 moveto
+(M) cmmi10 9.96265 fshow
+52.20416 45.51962 moveto
+(2) cmr7 6.97385 fshow
+155.92458 47.01402 moveto
+(M) cmmi10 9.96265 fshow
+165.58978 45.51962 moveto
+(2) cmr7 6.97385 fshow
+14.19255 75.36043 moveto
+(M) cmmi10 9.96265 fshow
+23.85776 73.86603 moveto
+(1) cmr7 6.97385 fshow
+70.88536 75.36043 moveto
+(M) cmmi10 9.96265 fshow
+80.55057 73.86603 moveto
+(1) cmr7 6.97385 fshow
+127.57817 75.36043 moveto
+(M) cmmi10 9.96265 fshow
+137.24338 73.86603 moveto
+(1) cmr7 6.97385 fshow
+184.27098 75.36043 moveto
+(M) cmmi10 9.96265 fshow
+193.93619 73.86603 moveto
+(1) cmr7 6.97385 fshow
+showpage
+%%EOF
diff --git a/5-hradla/sortnet.7 b/5-hradla/sortnet.7
new file mode 100644 (file)
index 0000000..97baca1
--- /dev/null
@@ -0,0 +1,86 @@
+%!PS
+%%BoundingBox: 17 -1 182 110 
+%%HiResBoundingBox: 17.35184 -0.19925 181.5723 109.33292 
+%%Creator: MetaPost 1.208
+%%CreationDate: 2011.11.19:2203
+%%Pages: 1
+%*Font: cmr10 9.96265 9.96265 2b:87e00000000003023004
+%*Font: cmmi10 9.96265 9.96265 3a:8000104000005803
+%*Font: cmr7 6.97385 6.97385 30:e8
+%*Font: cmmi7 6.97385 6.97385 6e:8
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0 0 setrgbcolor 0 0.3985 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit
+newpath 19.84248 99.21242 moveto
+19.84248 19.84248 lineto
+178.58235 19.84248 lineto
+178.58235 99.21242 lineto stroke
+newpath 19.84248 39.68497 moveto
+69.4487 99.21242 lineto
+178.58235 59.52745 lineto stroke
+ 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
+ [3 3 ] 0 setdash
+newpath 69.4487 19.84248 moveto
+69.4487 99.21242 lineto stroke
+newpath 99.21242 0 moveto
+99.21242 109.13367 lineto stroke
+newpath 50.9906 77.06291 moveto
+50.9906 19.84248 lineto stroke
+newpath 130.36052 77.06291 moveto
+130.36052 19.84248 lineto stroke
+ 0 0.79701 dtransform truncate idtransform setlinewidth pop
+ [0 2.5 ] 1.25 setdash
+newpath 130.36052 77.06291 moveto
+148.81863 99.21242 lineto stroke
+newpath 148.81863 99.21242 moveto
+178.58235 88.38937 lineto stroke
+newpath 50.9906 77.06291 moveto
+99.21242 59.52745 lineto stroke
+newpath 52.485 77.06291 moveto
+52.485 77.45924 52.32756 77.83936 52.0473 78.11961 curveto
+51.76704 78.39987 51.38693 78.55731 50.9906 78.55731 curveto
+50.59427 78.55731 50.21416 78.39987 49.9339 78.11961 curveto
+49.65364 77.83936 49.4962 77.45924 49.4962 77.06291 curveto
+49.4962 76.66658 49.65364 76.28647 49.9339 76.00621 curveto
+50.21416 75.72595 50.59427 75.56851 50.9906 75.56851 curveto
+51.38693 75.56851 51.76704 75.72595 52.0473 76.00621 curveto
+52.32756 76.28647 52.485 76.66658 52.485 77.06291 curveto closepath fill
+newpath 131.85492 77.06291 moveto
+131.85492 77.45924 131.69748 77.83936 131.41722 78.11961 curveto
+131.13696 78.39987 130.75685 78.55731 130.36052 78.55731 curveto
+129.96419 78.55731 129.58408 78.39987 129.30382 78.11961 curveto
+129.02356 77.83936 128.86612 77.45924 128.86612 77.06291 curveto
+128.86612 76.66658 129.02356 76.28647 129.30382 76.00621 curveto
+129.58408 75.72595 129.96419 75.56851 130.36052 75.56851 curveto
+130.75685 75.56851 131.13696 75.72595 131.41722 76.00621 curveto
+131.69748 76.28647 131.85492 76.66658 131.85492 77.06291 curveto closepath fill
+17.35184 8.37428 moveto
+(0) cmr10 9.96265 fshow
+48.2405 8.37428 moveto
+(k) cmmi10 9.96265 fshow
+65.07504 8.37428 moveto
+(m) cmmi10 9.96265 fshow
+90.99202 13.1969 moveto
+(n) cmmi7 6.97385 fshow
+ 0 0.3985 dtransform truncate idtransform setlinewidth pop [] 0 setdash
+ 0 setlinecap
+newpath 90.99202 11.765 moveto
+95.91693 11.765 lineto stroke
+91.46883 5.83879 moveto
+(2) cmr7 6.97385 fshow
+117.86421 8.37428 moveto
+(k) cmmi10 9.96265 fshow
+125.57831 8.37428 moveto
+(+) cmr10 9.96265 fshow
+136.7364 12.29689 moveto
+(n) cmmi7 6.97385 fshow
+newpath 136.7364 10.86499 moveto
+141.66132 10.86499 lineto stroke
+137.21321 4.93878 moveto
+(2) cmr7 6.97385 fshow
+175.59239 8.37428 moveto
+(n) cmmi10 9.96265 fshow
+showpage
+%%EOF
diff --git a/5-hradla/sortnet.mp b/5-hradla/sortnet.mp
new file mode 100644 (file)
index 0000000..aebdcd1
--- /dev/null
@@ -0,0 +1,680 @@
+%defaultfont:="csr12";
+%verbatimtex \input twelvecs etex
+u:=1 ;
+ahlength:=u*3;
+
+beginfig(0);
+v:=u*7mm;
+
+z12=(1v,1v);
+z13=(2v,1v);
+z21=(0v,2v);
+z22=(1v,2v);
+z23=(2v,2v);
+z24=(3v,2v);
+z31=(0v,4v);
+z32=(1v,4v);
+z33=(2v,4v);
+z34=(3v,4v);
+z42=(1v,5v);
+z43=(2v,5v);
+
+pickup pencircle scaled 0.4pt;
+draw(z21--z22--z23--z24--z34--z33--z32--z31--z21);
+drawarrow(z22--z12);
+drawarrow(z23--z13);
+drawarrow(z42--z32);
+drawarrow(z43--z33);
+
+label.bot(btex \strut a etex,z32);
+label.bot(btex \strut b etex,z33);
+label.top(btex min etex,z22);
+label.top(btex max etex,z23);
+
+
+endfig;
+
+beginfig(1);
+v:=u*5mm;
+z10=(0v,0v);
+z20=(2v,0v);
+z30=(4v,0v);
+z40=(6v,0v);
+z50=(8v,0v);
+
+z11=(0v,1v);
+z12=(0v,2v);
+z13=(0v,3v);
+z14=(0v,4v);
+z15=(0v,5v);
+z16=(0v,6v);
+z17=(0v,7v);
+z18=(0v,8v);
+z19=(0v,9v);
+z110=(0v,10v);
+
+z21=(2v,1v);
+z22=(2v,2v);
+z23=(2v,3v);
+z24=(2v,4v);
+z25=(2v,5v);
+z26=(2v,6v);
+z27=(2v,7v);
+z28=(2v,8v);
+z29=(2v,9v);
+z210=(2v,10v);
+
+z31=(4v,1v);
+z32=(4v,2v);
+z33=(4v,3v);
+z34=(4v,4v);
+z35=(4v,5v);
+z36=(4v,6v);
+z37=(4v,7v);
+z38=(4v,8v);
+z39=(4v,9v);
+z310=(4v,10v);
+
+z41=(6v,1v);
+z42=(6v,2v);
+z43=(6v,3v);
+z44=(6v,4v);
+z45=(6v,5v);
+z46=(6v,6v);
+z47=(6v,7v);
+z48=(6v,8v);
+z49=(6v,9v);
+z410=(6v,10v);
+
+z51=(8v,1v);
+z52=(8v,2v);
+z53=(8v,3v);
+z54=(8v,4v);
+z55=(8v,5v);
+z56=(8v,6v);
+z57=(8v,7v);
+z58=(8v,8v);
+z59=(8v,9v);
+z510=(8v,10v);
+
+z111=(0v,11v);
+z211=(2v,11v);
+z311=(4v,11v);
+z411=(6v,11v);
+z511=(8v,11v);
+
+z1015=(-1v,1.5v);
+z1615=(9v,1.5v);
+z1035=(-1v,3.5v);
+z1635=(9v,3.5v);
+z1065=(-1v,6.5v);
+z1665=(9v,6.5v);
+
+pickup pencircle scaled 0.4pt;
+draw(z10--z111);
+draw(z20--z211);
+draw(z30--z311);
+draw(z40--z411);
+draw(z50--z511);
+drawarrow(z11--z21);
+drawarrow(z13--z23);
+drawarrow(z16--z26);
+drawarrow(z110--z210);
+drawarrow(z22--z32);
+drawarrow(z25--z35);
+drawarrow(z29--z39);
+drawarrow(z34--z44);
+drawarrow(z38--z48);
+drawarrow(z47--z57);
+
+pickup pencircle scaled 0.7pt;
+draw(z1015--z1615) dashed withdots scaled 0.5;
+draw(z1035--z1635) dashed withdots scaled 0.5;
+draw(z1065--z1665) dashed withdots scaled 0.5;
+
+label.top(btex x1 etex,z111);
+label.top(btex x2 etex,z211);
+label.top(btex x3 etex,z311);
+label.top(btex x4 etex,z411);
+label.top(btex x5 etex,z511);
+
+endfig;
+
+beginfig(2);
+v:=u*5mm;
+z13=(0v,3v);
+z23=(2v,3v);
+z33=(4v,3v);
+z43=(6v,3v);
+z53=(8v,3v);
+
+z14=(0v,4v);
+z15=(0v,5v);
+z16=(0v,6v);
+z17=(0v,7v);
+z18=(0v,8v);
+z19=(0v,9v);
+z110=(0v,10v);
+
+z24=(2v,4v);
+z25=(2v,5v);
+z26=(2v,6v);
+z27=(2v,7v);
+z28=(2v,8v);
+z29=(2v,9v);
+z210=(2v,10v);
+
+z34=(4v,4v);
+z35=(4v,5v);
+z36=(4v,6v);
+z37=(4v,7v);
+z38=(4v,8v);
+z39=(4v,9v);
+z310=(4v,10v);
+
+z44=(6v,4v);
+z45=(6v,5v);
+z46=(6v,6v);
+z47=(6v,7v);
+z48=(6v,8v);
+z49=(6v,9v);
+z410=(6v,10v);
+
+z54=(8v,4v);
+z55=(8v,5v);
+z56=(8v,6v);
+z57=(8v,7v);
+z58=(8v,8v);
+z59=(8v,9v);
+z510=(8v,10v);
+
+z111=(0v,11v);
+z211=(2v,11v);
+z311=(4v,11v);
+z411=(6v,11v);
+z511=(8v,11v);
+
+pickup pencircle scaled 0.4pt;
+draw(z13--z111);
+draw(z23--z211);
+draw(z33--z311);
+draw(z43--z411);
+draw(z53--z511);
+drawarrow(z14--z24);
+drawarrow(z16--z26);
+drawarrow(z18--z28);
+drawarrow(z110--z210);
+drawarrow(z25--z35);
+drawarrow(z27--z37);
+drawarrow(z29--z39);
+drawarrow(z36--z46);
+drawarrow(z38--z48);
+drawarrow(z47--z57);
+
+label.top(btex x1 etex,z111);
+label.top(btex x2 etex,z211);
+label.top(btex x3 etex,z311);
+label.top(btex x4 etex,z411);
+label.top(btex x5 etex,z511);
+
+endfig;
+
+
+beginfig(3);
+v:=u*5mm;
+
+z10=(0v,0v);
+z15=(0v,5v);
+z16=(0v,6v);
+
+z20=(2v,0v);
+z24=(2v,4v);
+z26=(2v,6v);
+
+z30=(4v,0v);
+z33=(4v,3v);
+z36=(4v,6v);
+
+z40=(6v,0v);
+z42=(6v,2v);
+z46=(6v,6v);
+
+z50=(8v,0v);
+z51=(8v,1v);
+z56=(8v,6v);
+
+z60=(10v,0v);
+z65=(10v,5v);
+z66=(10v,6v);
+
+z70=(12v,0v);
+z74=(12v,4v);
+z76=(12v,6v);
+
+z80=(14v,0v);
+z83=(14v,3v);
+z86=(14v,6v);
+
+z90=(16v,0v);
+z92=(16v,2v);
+z96=(16v,6v);
+
+z100=(18v,0v);
+z101=(18v,1v);
+z106=(18v,6v);
+
+z110=(20v,0v);
+z116=(20v,6v);
+
+
+pickup pencircle scaled 0.4pt;
+draw(z10--z16);
+draw(z20--z26);
+draw(z30--z36);
+draw(z40--z46);
+draw(z50--z56);
+draw(z60--z66);
+draw(z70--z76);
+draw(z80--z86);
+draw(z90--z96);
+draw(z100--z106);
+drawarrow(z15--z65);
+drawarrow(z24--z74);
+drawarrow(z33--z83);
+drawarrow(z42--z92);
+drawarrow(z51--z101);
+
+label.top(btex $x_0$ etex,z16);
+label.top(btex $x_1$ etex,z26);
+label.top(btex $x_2$ etex,z36);
+label.top(btex \dots etex,z66);
+label.top(btex $x_{n-2}$ etex,z96);
+label.top(btex $x_{n-1}$ etex,z106);
+
+label.top(btex $y_0$ etex,z16 shifted (0,-7v));
+label.top(btex $y_1$ etex,z26 shifted (0,-7v));
+label.top(btex $y_2$ etex,z36 shifted (0,-7v));
+label.top(btex \dots etex,z66 shifted (0,-7v));
+label.top(btex $y_{n-2}$ etex,z96 shifted (0,-7v));
+label.top(btex $y_{n-1}$ etex,z106 shifted (0,-7v));
+
+endfig;
+
+
+
+beginfig(4);
+v:=u*5mm;
+
+z1075=(7.5v,0v);
+
+z10=(0v,1v);
+z175=(7.5v,1v);
+z115=(15v,1v);
+
+z20=(0v,2v);
+z235=(3.5v,2v);
+z211=(11.5v,2v);
+z215=(15v,2v);
+
+z30=(0v,3v);
+z335=(3.5v,3v);
+z37=(7v,3v);
+z38=(8v,3v);
+z311=(11.5v,3v);
+z315=(15v,3v);
+
+z40=(0v,4v);
+z415=(1.5v,4v);
+z455=(5.5v,4v);
+z47=(7v,4v);
+z48=(8v,4v);
+z495=(9.5v,4v);
+z413=(13.5v,4v);
+z416=(15v,4v);
+
+z50=(0v,5v);
+z515=(1.5v,5v);
+z53=(3v,5v);
+z54=(4v,5v);
+z555=(5.5v,5v);
+z57=(7v,5v);
+z58=(8v,5v);
+z595=(9.5v,5v);
+z511=(11v,5v);
+z512=(12v,5v);
+z513=(13.5v,5v);
+z516=(15v,5v);
+
+z60=(0v,6v);
+z61=(1v,6v);
+z62=(2v,6v);
+z63=(3v,6v);
+z64=(4v,6v);
+z65=(5v,6v);
+z66=(6v,6v);
+z67=(7v,6v);
+z68=(8v,6v);
+z69=(9v,6v);
+z610=(10v,6v);
+z611=(11v,6v);
+z612=(12v,6v);
+z613=(13v,6v);
+z614=(14v,6v);
+z615=(15v,6v);
+
+z71=(1v,7v);
+z72=(2v,7v);
+z75=(5v,7v);
+z76=(6v,7v);
+z79=(9v,7v);
+z710=(10v,7v);
+z713=(13v,7v);
+z714=(14v,7v);
+
+
+
+
+pickup pencircle scaled 0.4pt;
+draw(z10--z115--z215--z20--cycle);
+draw(z30--z37--z47--z40--cycle);
+draw(z38--z315--z416--z48--cycle);
+draw(z50--z53--z63--z60--cycle);
+draw(z54--z57--z67--z64--cycle);
+draw(z58--z511--z611--z68--cycle);
+draw(z512--z516--z615--z612--cycle);
+drawarrow(z71--z61);
+drawarrow(z72--z62);
+drawarrow(z75--z65);
+drawarrow(z76--z66);
+drawarrow(z79--z69);
+drawarrow(z710--z610);
+drawarrow(z713--z613);
+drawarrow(z714--z614);
+drawarrow(z515--z415);
+drawarrow(z555--z455);
+drawarrow(z595--z495);
+drawarrow(z513--z413);
+drawarrow(z335--z235);
+drawarrow(z311--z211);
+drawarrow(z175--z1075);
+
+endfig;
+
+
+beginfig(5);
+v:=u*5mm;
+
+z075=(7.5v,8v);
+
+z10=(0v,7v);
+z175=(7.5v,7v);
+z115=(15v,7v);
+
+z20=(0v,6v);
+z235=(3.5v,6v);
+z211=(11.5v,6v);
+z215=(15v,6v);
+
+z30=(0v,5v);
+z335=(3.5v,5v);
+z37=(7v,5v);
+z38=(8v,5v);
+z311=(11.5v,5v);
+z315=(15v,5v);
+
+z40=(0v,4v);
+z415=(1.5v,4v);
+z455=(5.5v,4v);
+z47=(7v,4v);
+z48=(8v,4v);
+z495=(9.5v,4v);
+z413=(13.5v,4v);
+z416=(15v,4v);
+
+z50=(0v,3v);
+z515=(1.5v,3v);
+z53=(3v,3v);
+z54=(4v,3v);
+z555=(5.5v,3v);
+z57=(7v,3v);
+z58=(8v,3v);
+z595=(9.5v,3v);
+z511=(11v,3v);
+z512=(12v,3v);
+z513=(13.5v,3v);
+z516=(15v,3v);
+
+z60=(0v,2v);
+z61=(1v,2v);
+z62=(2v,2v);
+z63=(3v,2v);
+z64=(4v,2v);
+z65=(5v,2v);
+z66=(6v,2v);
+z67=(7v,2v);
+z68=(8v,2v);
+z69=(9v,2v);
+z610=(10v,2v);
+z611=(11v,2v);
+z612=(12v,2v);
+z613=(13v,2v);
+z614=(14v,2v);
+z615=(15v,2v);
+
+% ve skutecnosti dle znaceni 
+% by melo byt z6* ale uz 
+% obsazeno
+z815=(1.5v,2v);
+z855=(5.5v,2v);
+z895=(9.5v,2v);
+z813=(13.5v,2v);
+
+z715=(1.5v,1v);
+z755=(5.5v,1v);
+z795=(9.5v,1v);
+z713=(13.5v,1v);
+
+z9=(4v,0v);
+
+pickup pencircle scaled 0.4pt;
+draw(z10--z115--z215--z20--cycle);
+draw(z30--z37--z47--z40--cycle);
+draw(z38--z315--z416--z48--cycle);
+draw(z50--z53--z63--z60--cycle);
+draw(z54--z57--z67--z64--cycle);
+draw(z58--z511--z611--z68--cycle);
+draw(z512--z516--z615--z612--cycle);
+drawarrow(z075--z175);
+drawarrow(z415--z515);
+drawarrow(z455--z555);
+drawarrow(z495--z595);
+drawarrow(z413--z513);
+drawarrow(z235--z335);
+drawarrow(z211--z311);
+drawarrow(z815--z715);
+drawarrow(z855--z755);
+drawarrow(z895--z795);
+drawarrow(z813--z713);
+
+label.llft(btex $n$ etex,z075);
+label.bot(btex $S_n$ etex,z175);
+label.bot(btex $S_{n\over 2}$ etex,z335);
+label.bot(btex $S_{n\over 2}$ etex,z311);
+label.bot(btex $S_{n\over 4}$ etex,z515);
+label.bot(btex $S_{n\over 4}$ etex,z555);
+label.bot(btex $S_{n\over 4}$ etex,z595);
+label.bot(btex $S_{n\over 4}$ etex,z513);
+
+endfig;
+
+
+
+beginfig(6);
+v:=u*5mm;
+
+z1075=(7.5v,0v);
+
+z10=(0v,1v);
+z175=(7.5v,1v);
+z115=(15v,1v);
+
+z20=(0v,2v);
+z235=(3.5v,2v);
+z211=(11.5v,2v);
+z215=(15v,2v);
+
+z30=(0v,3v);
+z335=(3.5v,3v);
+z37=(7v,3v);
+z38=(8v,3v);
+z311=(11.5v,3v);
+z315=(15v,3v);
+
+z40=(0v,4v);
+z415=(1.5v,4v);
+z455=(5.5v,4v);
+z47=(7v,4v);
+z48=(8v,4v);
+z495=(9.5v,4v);
+z413=(13.5v,4v);
+z416=(15v,4v);
+
+z50=(0v,5v);
+z515=(1.5v,5v);
+z53=(3v,5v);
+z54=(4v,5v);
+z555=(5.5v,5v);
+z57=(7v,5v);
+z58=(8v,5v);
+z595=(9.5v,5v);
+z511=(11v,5v);
+z512=(12v,5v);
+z513=(13.5v,5v);
+z516=(15v,5v);
+
+z60=(0v,6v);
+z61=(1v,6v);
+z62=(2v,6v);
+z63=(3v,6v);
+z64=(4v,6v);
+z65=(5v,6v);
+z66=(6v,6v);
+z67=(7v,6v);
+z68=(8v,6v);
+z69=(9v,6v);
+z610=(10v,6v);
+z611=(11v,6v);
+z612=(12v,6v);
+z613=(13v,6v);
+z614=(14v,6v);
+z615=(15v,6v);
+
+z71=(1v,7v);
+z72=(2v,7v);
+z75=(5v,7v);
+z76=(6v,7v);
+z79=(9v,7v);
+z710=(10v,7v);
+z713=(13v,7v);
+z714=(14v,7v);
+
+
+
+
+pickup pencircle scaled 0.4pt;
+draw(z10--z115--z215--z20--cycle);
+draw(z30--z37--z47--z40--cycle);
+draw(z38--z315--z416--z48--cycle);
+draw(z50--z53--z63--z60--cycle);
+draw(z54--z57--z67--z64--cycle);
+draw(z58--z511--z611--z68--cycle);
+draw(z512--z516--z615--z612--cycle);
+drawarrow(z71--z61);
+drawarrow(z72--z62);
+drawarrow(z75--z65);
+drawarrow(z76--z66);
+drawarrow(z79--z69);
+drawarrow(z710--z610);
+drawarrow(z713--z613);
+drawarrow(z714--z614);
+drawarrow(z515--z415);
+drawarrow(z555--z455);
+drawarrow(z595--z495);
+drawarrow(z513--z413);
+drawarrow(z335--z235);
+drawarrow(z311--z211);
+drawarrow(z175--z1075);
+
+label.top(btex $M_4$ etex,z175);
+label.top(btex $M_2$ etex,z335);
+label.top(btex $M_2$ etex,z311);
+label.top(btex $M_1$ etex,z515);
+label.top(btex $M_1$ etex,z555);
+label.top(btex $M_1$ etex,z595);
+label.top(btex $M_1$ etex,z513);
+
+endfig;
+
+
+beginfig(7);
+v:=u*7mm;
+
+z12=(1v,1v);
+z13=(1v,2v);
+z16=(1v,5v);
+z356=(3.5v,5v);
+z40=(5v,0v);
+z42=(5v,1v);
+z47=(5v,5.5v);
+z72=(9v,1v);
+z74=(9v,3v);
+z76=(9v,5v);
+
+z100=(0.5v,-0.5v);
+z101=(1.5v,0.5v);
+
+z0=whatever[z13,z356];
+z1=whatever[z356,z74];
+z1=z0+4v*right;
+z2=whatever[z12,z72];
+z2=z0+whatever*down;
+z3=whatever[z12,z72];
+z3=z1+whatever*down;
+z4=z356+4v*right;
+z5=whatever[z72,z76];
+z5=whatever[z4,z1+4v*right];
+z6=whatever[z40,z47];
+z6=z74+4v*left;
+z7=whatever[z12,z72];
+z7=z356+whatever*down;
+z8=z2 + whatever*right;
+z8=z356+whatever*down;
+
+
+pickup pencircle scaled 0.4pt;
+draw(z16--z12--z72--z76);
+draw(z13--z356--z74);
+draw(z7--z356) dashed evenly;
+draw(z40--z47) dashed evenly;
+draw(z0--z2) dashed evenly;
+draw(z1--z3) dashed evenly;
+
+pickup pencircle scaled 0.8pt;
+draw(z1--z4) dashed withdots scaled 0.5;
+draw(z4--z5) dashed withdots scaled 0.5;
+draw(z0--z6) dashed withdots scaled 0.5;
+
+pickup pencircle scaled 3pt;
+drawdot(z0);
+drawdot(z1);
+
+label.bot(btex \strut 0 etex,z12);
+label.bot(btex \strut $k$ etex,z2);
+label.bot(btex \strut $m$ etex,z8);
+label.llft(btex \strut ${n\over 2}$ etex,z42);
+label.bot(btex \strut $k+{n\over 2}$ etex,z3);
+label.bot(btex \strut $n$ etex,z72);
+
+endfig;
+
+end;
diff --git a/5-hradla/sortnet.mpx b/5-hradla/sortnet.mpx
new file mode 100644 (file)
index 0000000..58f8d19
--- /dev/null
@@ -0,0 +1,583 @@
+% Written by metapost version 1.208
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n0="cmr10";
+_s("a",_n0,1.00000,0.0000,0.0000,);
+setbounds _p to (0,-3.4869)--(4.9813,-3.4869)--
+ (4.9813,8.4682)--(0,8.4682)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n0="cmr10";
+_s("b",_n0,1.00000,0.0000,0.0000,);
+setbounds _p to (0,-3.4869)--(5.5348,-3.4869)--
+ (5.5348,8.4682)--(0,8.4682)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n0="cmr10";
+_s("min",_n0,1.00000,0.0000,0.0000,);
+setbounds _p to (0,0.0000)--(16.6045,0.0000)--
+ (16.6045,6.6536)--(0,6.6536)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n0="cmr10";
+_s("max",_n0,1.00000,0.0000,0.0000,);
+setbounds _p to (0,0.0000)--(18.5416,0.0000)--
+ (18.5416,4.2895)--(0,4.2895)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n0="cmr10";
+_s("x1",_n0,1.00000,0.0000,0.0000,);
+setbounds _p to (0,0.0000)--(10.2394,0.0000)--
+ (10.2394,6.4204)--(0,6.4204)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n0="cmr10";
+_s("x2",_n0,1.00000,0.0000,0.0000,);
+setbounds _p to (0,0.0000)--(10.2394,0.0000)--
+ (10.2394,6.4204)--(0,6.4204)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n0="cmr10";
+_s("x3",_n0,1.00000,0.0000,0.0000,);
+setbounds _p to (0,0.0000)--(10.2394,0.0000)--
+ (10.2394,6.4204)--(0,6.4204)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n0="cmr10";
+_s("x4",_n0,1.00000,0.0000,0.0000,);
+setbounds _p to (0,0.0000)--(10.2394,0.0000)--
+ (10.2394,6.4204)--(0,6.4204)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n0="cmr10";
+_s("x5",_n0,1.00000,0.0000,0.0000,);
+setbounds _p to (0,0.0000)--(10.2394,0.0000)--
+ (10.2394,6.4204)--(0,6.4204)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n0="cmr10";
+_s("x1",_n0,1.00000,0.0000,0.0000,);
+setbounds _p to (0,0.0000)--(10.2394,0.0000)--
+ (10.2394,6.4204)--(0,6.4204)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n0="cmr10";
+_s("x2",_n0,1.00000,0.0000,0.0000,);
+setbounds _p to (0,0.0000)--(10.2394,0.0000)--
+ (10.2394,6.4204)--(0,6.4204)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n0="cmr10";
+_s("x3",_n0,1.00000,0.0000,0.0000,);
+setbounds _p to (0,0.0000)--(10.2394,0.0000)--
+ (10.2394,6.4204)--(0,6.4204)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n0="cmr10";
+_s("x4",_n0,1.00000,0.0000,0.0000,);
+setbounds _p to (0,0.0000)--(10.2394,0.0000)--
+ (10.2394,6.4204)--(0,6.4204)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n0="cmr10";
+_s("x5",_n0,1.00000,0.0000,0.0000,);
+setbounds _p to (0,0.0000)--(10.2394,0.0000)--
+ (10.2394,6.4204)--(0,6.4204)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("x",_n1,1.00000,0.0000,0.0000,);
+_n2="cmr7";
+_s("0",_n2,1.00000,5.6939,-1.4944,);
+setbounds _p to (0,-1.4944)--(10.1633,-1.4944)--
+ (10.1633,4.2895)--(0,4.2895)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("x",_n1,1.00000,0.0000,0.0000,);
+_n2="cmr7";
+_s("1",_n2,1.00000,5.6939,-1.4944,);
+setbounds _p to (0,-1.4944)--(10.1633,-1.4944)--
+ (10.1633,4.2895)--(0,4.2895)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("x",_n1,1.00000,0.0000,0.0000,);
+_n2="cmr7";
+_s("2",_n2,1.00000,5.6939,-1.4944,);
+setbounds _p to (0,-1.4944)--(10.1633,-1.4944)--
+ (10.1633,4.2895)--(0,4.2895)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s(":",_n1,1.00000,0.0000,0.0000,);
+_s(":",_n1,1.00000,4.4278,0.0000,);
+_s(":",_n1,1.00000,8.8556,0.0000,);
+setbounds _p to (0,0.0000)--(13.2834,0.0000)--
+ (13.2834,1.0516)--(0,1.0516)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("x",_n1,1.00000,0.0000,0.0000,);
+_n3="cmmi7";
+_s("n",_n3,1.00000,5.6939,-1.4944,);
+_n4="cmsy7";
+_s(char0,_n4,1.00000,10.6188,-1.4944,);
+_n2="cmr7";
+_s("2",_n2,1.00000,16.8454,-1.4944,);
+setbounds _p to (0,-2.3246)--(21.3148,-2.3246)--
+ (21.3148,4.2895)--(0,4.2895)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("x",_n1,1.00000,0.0000,0.0000,);
+_n3="cmmi7";
+_s("n",_n3,1.00000,5.6939,-1.4944,);
+_n4="cmsy7";
+_s(char0,_n4,1.00000,10.6188,-1.4944,);
+_n2="cmr7";
+_s("1",_n2,1.00000,16.8454,-1.4944,);
+setbounds _p to (0,-2.3246)--(21.3148,-2.3246)--
+ (21.3148,4.2895)--(0,4.2895)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("y",_n1,1.00000,0.0000,0.0000,);
+_n2="cmr7";
+_s("0",_n2,1.00000,4.8845,-1.4944,);
+setbounds _p to (0,-1.9372)--(9.3539,-1.9372)--
+ (9.3539,4.2895)--(0,4.2895)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("y",_n1,1.00000,0.0000,0.0000,);
+_n2="cmr7";
+_s("1",_n2,1.00000,4.8845,-1.4944,);
+setbounds _p to (0,-1.9372)--(9.3539,-1.9372)--
+ (9.3539,4.2895)--(0,4.2895)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("y",_n1,1.00000,0.0000,0.0000,);
+_n2="cmr7";
+_s("2",_n2,1.00000,4.8845,-1.4944,);
+setbounds _p to (0,-1.9372)--(9.3539,-1.9372)--
+ (9.3539,4.2895)--(0,4.2895)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s(":",_n1,1.00000,0.0000,0.0000,);
+_s(":",_n1,1.00000,4.4278,0.0000,);
+_s(":",_n1,1.00000,8.8556,0.0000,);
+setbounds _p to (0,0.0000)--(13.2834,0.0000)--
+ (13.2834,1.0516)--(0,1.0516)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("y",_n1,1.00000,0.0000,0.0000,);
+_n3="cmmi7";
+_s("n",_n3,1.00000,4.8845,-1.4944,);
+_n4="cmsy7";
+_s(char0,_n4,1.00000,9.8094,-1.4944,);
+_n2="cmr7";
+_s("2",_n2,1.00000,16.0360,-1.4944,);
+setbounds _p to (0,-2.3246)--(20.5054,-2.3246)--
+ (20.5054,4.2895)--(0,4.2895)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("y",_n1,1.00000,0.0000,0.0000,);
+_n3="cmmi7";
+_s("n",_n3,1.00000,4.8845,-1.4944,);
+_n4="cmsy7";
+_s(char0,_n4,1.00000,9.8094,-1.4944,);
+_n2="cmr7";
+_s("1",_n2,1.00000,16.0360,-1.4944,);
+setbounds _p to (0,-2.3246)--(20.5054,-2.3246)--
+ (20.5054,4.2895)--(0,4.2895)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("n",_n1,1.00000,0.0000,0.0000,);
+setbounds _p to (0,0.0000)--(5.9799,0.0000)--
+ (5.9799,4.2895)--(0,4.2895)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("S",_n1,1.00000,0.0000,0.0000,);
+_n3="cmmi7";
+_s("n",_n3,1.00000,6.1090,-1.4944,);
+setbounds _p to (0,-1.4944)--(11.5320,-1.4944)--
+ (11.5320,6.8078)--(0,6.8078)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("S",_n1,1.00000,0.0000,0.0000,);
+_n5="cmmi5";
+_s("n",_n5,1.00000,7.3045,1.1829,);
+interim linecap:=0;
+vardef _r(expr _a,_w)(text _t) =
+  addto _p doublepath _a withpen pencircle scaled _w _t enddef;_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,);
+_n6="cmr5";
+_s("2",_n6,1.00000,7.8033,-3.8949,);
+setbounds _p to (0,-3.8949)--(13.3857,-3.8949)--
+ (13.3857,6.8078)--(0,6.8078)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("S",_n1,1.00000,0.0000,0.0000,);
+_n5="cmmi5";
+_s("n",_n5,1.00000,7.3045,1.1829,);
+interim linecap:=0;
+vardef _r(expr _a,_w)(text _t) =
+  addto _p doublepath _a withpen pencircle scaled _w _t enddef;_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,);
+_n6="cmr5";
+_s("2",_n6,1.00000,7.8033,-3.8949,);
+setbounds _p to (0,-3.8949)--(13.3857,-3.8949)--
+ (13.3857,6.8078)--(0,6.8078)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("S",_n1,1.00000,0.0000,0.0000,);
+_n5="cmmi5";
+_s("n",_n5,1.00000,7.3045,1.1829,);
+interim linecap:=0;
+vardef _r(expr _a,_w)(text _t) =
+  addto _p doublepath _a withpen pencircle scaled _w _t enddef;_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,);
+_n6="cmr5";
+_s("4",_n6,1.00000,7.8033,-3.8949,);
+setbounds _p to (0,-3.8949)--(13.3857,-3.8949)--
+ (13.3857,6.8078)--(0,6.8078)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("S",_n1,1.00000,0.0000,0.0000,);
+_n5="cmmi5";
+_s("n",_n5,1.00000,7.3045,1.1829,);
+interim linecap:=0;
+vardef _r(expr _a,_w)(text _t) =
+  addto _p doublepath _a withpen pencircle scaled _w _t enddef;_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,);
+_n6="cmr5";
+_s("4",_n6,1.00000,7.8033,-3.8949,);
+setbounds _p to (0,-3.8949)--(13.3857,-3.8949)--
+ (13.3857,6.8078)--(0,6.8078)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("S",_n1,1.00000,0.0000,0.0000,);
+_n5="cmmi5";
+_s("n",_n5,1.00000,7.3045,1.1829,);
+interim linecap:=0;
+vardef _r(expr _a,_w)(text _t) =
+  addto _p doublepath _a withpen pencircle scaled _w _t enddef;_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,);
+_n6="cmr5";
+_s("4",_n6,1.00000,7.8033,-3.8949,);
+setbounds _p to (0,-3.8949)--(13.3857,-3.8949)--
+ (13.3857,6.8078)--(0,6.8078)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("S",_n1,1.00000,0.0000,0.0000,);
+_n5="cmmi5";
+_s("n",_n5,1.00000,7.3045,1.1829,);
+interim linecap:=0;
+vardef _r(expr _a,_w)(text _t) =
+  addto _p doublepath _a withpen pencircle scaled _w _t enddef;_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,);
+_n6="cmr5";
+_s("4",_n6,1.00000,7.8033,-3.8949,);
+setbounds _p to (0,-3.8949)--(13.3857,-3.8949)--
+ (13.3857,6.8078)--(0,6.8078)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("M",_n1,1.00000,0.0000,0.0000,);
+_n2="cmr7";
+_s("4",_n2,1.00000,9.6652,-1.4944,);
+setbounds _p to (0,-1.4944)--(14.1345,-1.4944)--
+ (14.1345,6.8078)--(0,6.8078)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("M",_n1,1.00000,0.0000,0.0000,);
+_n2="cmr7";
+_s("2",_n2,1.00000,9.6652,-1.4944,);
+setbounds _p to (0,-1.4944)--(14.1345,-1.4944)--
+ (14.1345,6.8078)--(0,6.8078)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("M",_n1,1.00000,0.0000,0.0000,);
+_n2="cmr7";
+_s("2",_n2,1.00000,9.6652,-1.4944,);
+setbounds _p to (0,-1.4944)--(14.1345,-1.4944)--
+ (14.1345,6.8078)--(0,6.8078)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("M",_n1,1.00000,0.0000,0.0000,);
+_n2="cmr7";
+_s("1",_n2,1.00000,9.6652,-1.4944,);
+setbounds _p to (0,-1.4944)--(14.1345,-1.4944)--
+ (14.1345,6.8078)--(0,6.8078)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("M",_n1,1.00000,0.0000,0.0000,);
+_n2="cmr7";
+_s("1",_n2,1.00000,9.6652,-1.4944,);
+setbounds _p to (0,-1.4944)--(14.1345,-1.4944)--
+ (14.1345,6.8078)--(0,6.8078)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("M",_n1,1.00000,0.0000,0.0000,);
+_n2="cmr7";
+_s("1",_n2,1.00000,9.6652,-1.4944,);
+setbounds _p to (0,-1.4944)--(14.1345,-1.4944)--
+ (14.1345,6.8078)--(0,6.8078)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("M",_n1,1.00000,0.0000,0.0000,);
+_n2="cmr7";
+_s("1",_n2,1.00000,9.6652,-1.4944,);
+setbounds _p to (0,-1.4944)--(14.1345,-1.4944)--
+ (14.1345,6.8078)--(0,6.8078)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n0="cmr10";
+_s("0",_n0,1.00000,0.0000,0.0000,);
+setbounds _p to (0,-3.4869)--(4.9813,-3.4869)--
+ (4.9813,8.4682)--(0,8.4682)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("k",_n1,1.00000,0.0000,0.0000,);
+setbounds _p to (0,-3.4869)--(5.5002,-3.4869)--
+ (5.5002,8.4682)--(0,8.4682)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("m",_n1,1.00000,0.0000,0.0000,);
+setbounds _p to (0,-3.4869)--(8.7473,-3.4869)--
+ (8.7473,8.4682)--(0,8.4682)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n3="cmmi7";
+_s("n",_n3,1.00000,1.1955,3.9226,);
+interim linecap:=0;
+vardef _r(expr _a,_w)(text _t) =
+  addto _p doublepath _a withpen pencircle scaled _w _t enddef;_r((1.1955,2.4907)..(6.1204,2.4907), 0.3985,);
+_n2="cmr7";
+_s("2",_n2,1.00000,1.6723,-3.4355,);
+setbounds _p to (0,-3.4869)--(7.3159,-3.4869)--
+ (7.3159,8.4682)--(0,8.4682)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("k",_n1,1.00000,0.0000,0.0000,);
+_n0="cmr10";
+_s("+",_n0,1.00000,7.7141,0.0000,);
+_n3="cmmi7";
+_s("n",_n3,1.00000,18.8722,3.9226,);
+interim linecap:=0;
+vardef _r(expr _a,_w)(text _t) =
+  addto _p doublepath _a withpen pencircle scaled _w _t enddef;_r((18.8722,2.4907)..(23.7971,2.4907), 0.3985,);
+_n2="cmr7";
+_s("2",_n2,1.00000,19.3490,-3.4355,);
+setbounds _p to (0,-3.4869)--(24.9926,-3.4869)--
+ (24.9926,8.4682)--(0,8.4682)--cycle;
+_p endgroup
+mpxbreak
+begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
+string _n[];
+vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
+  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
+_n1="cmmi10";
+_s("n",_n1,1.00000,0.0000,0.0000,);
+setbounds _p to (0,-3.4869)--(5.9799,-3.4869)--
+ (5.9799,8.4682)--(0,8.4682)--cycle;
+_p endgroup
+mpxbreak
diff --git a/6-bitonic/6-bitonic.tex b/6-bitonic/6-bitonic.tex
deleted file mode 100644 (file)
index 549e2f8..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-\input ../lecnotes.tex
-
-\prednaska{6}{Bitonické tøídìní}{}
-
-Nyní se podíváme na~druhý problém, a~to na~problém tøídìní. Ji¾ známe pomìrnì efektivní sekvenèní algoritmy, které dovedou tøídit v~èase $\O(n\log n)$. Byli bychom jistì rádi, kdybychom to zvládli je¹tì rychleji. Pojïme se podívat, zda by nám v tom nepomohlo problém paralelizovat.
-
-Budeme pøi tom pracovat ve~výpoèetním modelu, kterému se øíká komparátorová sí». Ta je postavená z~hradel, kterým se øíká komparátory.
-
-\s{Definice:} {\I Komparátorová sí»} je kombinaèní obvod, jeho¾ hradla jsou
-komparátory.
-
-\figure{sortnet.0}{Komparátor}{0.7in}
-
-Komparátor umí porovnat dvì hodnoty a~rozhodnout, která z~nich je vìt¹í
-a~která men¹í. Nevrací v¹ak booleovský výsledek jako bì¾né hradlo, ale má dva
-výstupy, pøièem¾ na~jednom vrátí men¹í ze~vstupních hodnot a~na~druhém vìt¹í.
-
-Výstupy komparátorù se nevìtví. Nemù¾eme tedy jeden výstup \uv{rozdvojit} a~pøipojit ho na~dva vstupy. (Vìtvení by dokonce ani nemìlo smysl, proto¾e zatímco rozdvojit bychom mohli, slouèit u¾~ne. Pokud tedy chceme, aby sí» mìla $n$~vstupù i~$n$~výstupù, rozdvojení stejnì nesmíme provést, i kdybychom jej mìli povolené.)
-
-\s{Pøíklad:} {\sl Bubble sort}
-
-Obrázek Bubble 1 ilustruje pou¾ití komparátorù pro tøídìní Bubble sortem.
-©ipky pøedstavují jednotlivé komparátory. Výpoèet v¹ak je¹tì mù¾eme vylep¹it.
-
-\twofigures{sortnet.1}{Bubble 1}{143pt}{sortnet.2}{Bubble 2}{143pt}
-
-Sna¾íme se výpoèet co nejvíce paralelizovat (viz obrázek Bubble 2).
-Jak je vidìt, komparátory na sebe nemusejí èekat. Tím mù¾eme výpoèet urychlit a místo èasu $\Theta{(n^2)}$ docílit èasové slo¾itosti $\Theta{(n)}$. V obou pøípadech je zachován kvadratický prostor.
-
-Nyní si uká¾eme je¹tì rychlej¹í tøídící algoritmus. Pùjdeme na nìj v¹ak trochu \uv{od lesa}. Nejdøíve vymyslíme sí», která bude umìt tøídit jenom nìco -- toti¾ bitonické posloupnosti. Bez újmy na obecnosti budeme pøedpokládat, ¾e ka¾dé dva prvky na vstupu jsou navzájem rùzné.
-
-\medskip
-\s{Definice:} Øekneme, ¾e posloupnost $x_0,\dots,x_{n-1} $ je {\I èistì bitonická} právì tehdy, kdy¾
-pro nìjaké $x_k, k\in\{0, \dots, n-1\} $ platí, ¾e~v¹echny prvky pøed ním (vèetnì jeho samotného)
-tvoøí rostoucí poslopnost, kde¾to prvky stojící za~ním tvoøí poslopnost klesající.
-Formálnì zapsáno musí platit, ¾e:
-$$x_0\leq x_1\leq \dots \leq x_k \geq x_{k+1}\geq\dots \geq x_{n-1}.$$
-
-\s{Definice:} Posloupnost $x_0 \dots x_{n-1}$ je {\I bitonická}, právì kdy¾ $\exists~j\in \{0,\dots ,n-1\}$, pro
-které je rotace pùvodní posloupnosti o $j$ prvkù, tedy posloupnost
-$$x_j,x_{(j+1) \bmod n},\dots, x_{(j+n-1) \bmod n},$$ èistì bitonická.
-
-\s{Definice:} {\I Separátor $S_n$} je sí», ve které jsou v¾dy~$i$-tý a~$(i+{n/2})$-tý prvek vstupu
-(pro $i=0,\dots, {n/2}-1$) propojeny komparátorem. Minimum se pak stane~$i$-tým,
-maximum  $(i+{n/2})$-tým prvkem výstupu.
-\figure{sortnet.3}{$(y_i, y_{i+{n/2}}) = \<CMP>(x_i, x_{i+{n/2}})$} {300pt}
-
-\s{Lemma:} Pokud separátor dostane na~vstupu bitonickou posloupnost, pak jeho výstup $y_0, \dots, y_{n-1}$
-splòuje:
-
-(i) $y_0,\dots, y_{n/2 -1}$ a~$y_{n/2},\dots, y_{n-1}$ jsou 
-bitonické posloupnosti,
-
-(ii) Pro v¹echna $i,j< {n/2}$ platí $y_i < y_{j + {n/2}}$.
-
-Separátor nám tedy jednu bitonickou posloupnost na~vstupu rozdìlí na~dvì
-bitonické posloupnosti, pøièem¾ navíc ka¾dý prvek první posloupnosti ($y_0,\dots, y_{n/2 -1}$)
-je men¹í nebo roven prvkùm druhé posloupnosti ($y_{n/2}, \dots, y_{n-1}$).
-
-\>Ne¾ pøistoupíme k dùkazu lemmatu, uka¾me si, k èemu se nám bude hodit.
-
-
-\s{Definice:} {\I Bitonická tøídièka $B_n$} je obvod sestavený ze separátorù, který dostane-li na vstupu bitonickou posloupnost délky $n$ (BÚNO konstruujeme tøídièku pro $n=2^k$), vydá setøídìnou zadanou posloupnost délky $n$. 
-
-Tøídièka dostane na~vstupu bitonickou posloupnost. Separátor~$S_n$ ji pak dle lemmatu rozdìlí na~dvì bitonické posloupnosti, kdy je ka¾dý prvek z~první posloupnosti men¹í ne¾ libovolný prvek z~druhé. Tyto poloviny pak dal¹í separátory rozdìlí na~ètvrtiny, ..., a¾~na~konci zbudou pouze jednoduché posloupnosti délky jedna (zjevnì setøídìné), které mezi sebou mají po¾adovanou nerovnost -- tedy ka¾dá posloupnost (nebo spí¹e prvek) nalevo je $\leq$ ne¾ prvek napravo od~nìj.
-
-\centerline{\epsfbox{sortnet.5}}
-
-Jak je vidìt, bitonická tøídièka nám libovolnou bitonickou posloupnost délky~$n$
-setøídí na~$\Theta(\log n)$ hladin.
-
-Nyní se dá odvodit, ¾e pokud umíme tøídit bitonické posloupnosti, umíme setøídit v¹echno.
-Vzpomeòme si na~tøídìní sléváním -- Merge sort. To funguje tak, ¾e zaène s~jednoprvkovými posloupnostmi, které jsou evidentnì setøídìné, a~poté v¾dy dvì setøídìné posloupnosti slévá do~jedné. Kdybychom nyní umìli paralelnì slévat, mohli bychom vytvoøit i~paralelní Merge sort. Jinými slovy, potøebujeme dvì rostoucí posloupnosti nìjak efektivnì slít do~jedné setøídìné. Uvìdomme si, ¾e to zvládneme jednodu¹e -- staèí druhou z~posloupností obrátit a~\uv{pøilepit} za~první, èím¾ vznikne bitonická posloupnost, kterou poté mù¾eme setøídit na¹í bitonickou tøídièkou.
-
-\s{Pøíklad:} {\sl Merge sort}
-
-Bitonická tøídièka se tedy dá pou¾ít ke~slévání setøídìných posloupností. 
-Uka¾me si, jak s~její pomocí sestavíme souèástky {\I slévaèky} $M_n$:
-
-Setøídìné posloupnosti $x_0,\dots, x_{n-1}$ a~$y_0,\dots, y_{n-1}$ spojíme do jedné bitonické
-posloupnosti $x_0,\dots, x_{n-1},y_{n-1},\dots, y_0$. Z~této posloupnosti vytvoøíme pomocí bitonické tøídièky
-$B_{2n}$ setøídìnou posloupnost. Vytvoøíme tedy blok $M_{2n}$, který se ov¹em sestává de~facto pouze z~bloku $B_{2n}$, jeho¾ druhá polovina vstupù je zapojena v~obráceném poøadí.
-\figure{sortnet.6}{Paralelní MergeSort.}{3in}
-
-Nyní se pokusme odhadnout èasovou slo¾itost. Ná¹ MergeSort bude mít øádovì hloubku blokù $\log n$.
-V ka¾dém bloku $M_n$ je navíc ukryta bitonická tøídièka s takté¾ logaritmickou hloubkou.
-Celková hloubka tedy bude $\log 2 + \log4 + \dots + \log 2^k + \dots + \log n$.
-Po seètení nakonec dostáváme výslednou èasovou slo¾itost $\Theta (\log^2 n)$.
-
-Dodejme je¹tì, ¾e existuje i~tøídicí algoritmus, kterému staèí jen ${\O}(\log n)$ hladin.
-Jeho multiplikativní konstanta je v¹ak pøíli¹ veliká, tak¾e je v~praxi nepou¾itelný.
-
-Vra»me se nyní k dùkazu lemmatu, který jsme na pøedminulé stránce vynechali.
-
-\h{Dùkaz Lemmatu:}
-(i) Nejprve nahlédneme, ¾e lemma platí, je-li vstupem èistì bitonická
-posloupnost. Dále BÚNO pøedpokládejme, ¾e vrchol posloupnosti je v~první polovinì (kdyby
-byl vrchol za~polovinou, staèilo by zrcadlovì obrátit posloupnost i~komparátory a~øe¹ili
-bychom stejný problém). Nyní si definujme $k := \min j: x_j > x_{j+n/2}$. (Pokud
-by~takové~$k$ neexistovalo, znamenalo by~to, ¾e vstupní posloupnost je monotónní.
-Separátor by tedy nic nedìlal a~pouze zkopíroval vstup na~výstup, co¾ jistì lemma splòuje.) Nyní si v¹imìme,
-¾e jakmile jednou zaène platit, ¾e prvek na~levé stranì je men¹í ne¾ na~pravé, bude
-nám tato relace platit a¾~do~konce. Oznaème vrchol vstupní posloupnosti jako~$x_m$.
-Pak~$k$ bude jistì men¹í ne¾~$m$ a~$k+{n/2}$ bude vìt¹í ne¾~$m$. Mezi~$k$ a~$m$ je tedy
-vstupní posloupnost neklesající, mezi $k+{n/2}$ a~$n-1$ nerostoucí.
-
-Do pozice~$k$ tedy separátor bude pouze kopírovat vstup na~výstup, od~pozice~$k$
-dál u¾~jen prohazuje. Pro ka¾dé~$i$, $(k\leq i\leq {n/2}-1)$ se prvky
-$x_i$ a~$x_{i+{n/2}}$ prohodí. Úsek mezi~$k$ a~${n/2}-1$ tedy
-nahradíme nerostoucí posloupností, první polovina výstupu tedy bude
-(dokonce èistì) bitonická. Podobnì úsek $k+{n/2}$ a¾~$n-1$ nahradíme èistì
-bitonickou posloupností. Obì poloviny tedy budou bitonické.
-
-Dostaneme-li na vstupu obecnou bitonickou posloupnost, pøedstavíme si,
-¾e je to èistì bitonická posloupnost zrotovaná o~$r$ prvkù (BÚNO
-doprava). Zjistíme, ¾e v~komparátorech se porovnávají tyté¾ prvky,
-jako kdyby zrotovaná nebyla. Výstup se od výstupu èistì bitonické
-posloupnosti zrotovaného o~$r$ bude li¹it prohozením úsekù $x_0$ a¾
-$x_{r-1}$ a~$x_{n/2}$ a¾ $x_{{n/2}+r-1}$. Obì výstupní
-posloupnosti tedy budou zrotované o~$r$ prvkù, ale na jejich
-bitoniènosti se nic nezmìní.
-
-(ii) Z dùkazu (i) pro èistì bitonickou posloupnost víme, ¾e $y_0\dots y_{n/2-1}$ je èistì bitonická a bude rovna $x_0\dots x_{k-1},x_{k+n/2}\dots x_{n-1}$ pro vhodné $k$ a navíc bude mít maximum v $x_{k-1}$ nebo $x_k+{n/2}$. Mezi tìmito body ov¹em ve vstupní posloupnosti urèitì nele¾el ¾ádný $x_i$ men¹í ne¾ $x_k-1$ nebo $x_k+{n/2}$ (jak je vidìt z obrázku) a posloupnost  $x_k \dots x_{k-1+{n/2}}$ je rovna $y_{n/2}\dots y_{n-1}$. Pro obecné bitonické posloupnosti uká¾eme stejnì jako v (i).
-\qed
-
-\medskip
-
-\centerline{\epsfbox{sortnet.7}}
-
-\bye
diff --git a/6-bitonic/Makefile b/6-bitonic/Makefile
deleted file mode 100644 (file)
index 496cb3d..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-P=6-bitonic
-
-include ../Makerules
diff --git a/6-bitonic/sortnet.0 b/6-bitonic/sortnet.0
deleted file mode 100644 (file)
index a2087ec..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-%!PS
-%%BoundingBox: -1 19 60 100 
-%%Creator: MetaPost
-%%CreationDate: 2008.01.20:2138
-%%Pages: 1
-%*Font: cmr10 9.96265 9.96265 61:c08c01
-%%EndProlog
-%%Page: 1 1
- 0 0.3985 dtransform truncate idtransform setlinewidth pop [] 0 setdash
- 1 setlinecap 1 setlinejoin 10 setmiterlimit
-newpath 0 39.68497 moveto
-19.84248 39.68497 lineto
-39.68497 39.68497 lineto
-59.52745 39.68497 lineto
-59.52745 79.36993 lineto
-39.68497 79.36993 lineto
-19.84248 79.36993 lineto
-0 79.36993 lineto
-0 39.68497 lineto stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 19.84248 39.68497 moveto
-19.84248 19.84248 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 18.69446 22.61398 moveto
-19.84248 19.84248 lineto
-20.99051 22.61398 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 39.68497 39.68497 moveto
-39.68497 19.84248 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 38.53694 22.61398 moveto
-39.68497 19.84248 lineto
-40.833 22.61398 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 19.84248 99.21242 moveto
-19.84248 79.36993 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 18.69446 82.14143 moveto
-19.84248 79.36993 lineto
-20.99051 82.14143 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 39.68497 99.21242 moveto
-39.68497 79.36993 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 38.53694 82.14143 moveto
-39.68497 79.36993 lineto
-40.833 82.14143 lineto
- closepath
-gsave fill grestore stroke
-17.35184 67.90173 moveto
-(a) cmr10 9.96265 fshow
-36.91756 67.90173 moveto
-(b) cmr10 9.96265 fshow
-11.54022 42.68497 moveto
-(min) cmr10 9.96265 fshow
-30.41417 42.68497 moveto
-(max) cmr10 9.96265 fshow
-showpage
-%%EOF
diff --git a/6-bitonic/sortnet.1 b/6-bitonic/sortnet.1
deleted file mode 100644 (file)
index 5ec51d9..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-%!PS
-%%BoundingBox: -15 -1 128 166 
-%%Creator: MetaPost
-%%CreationDate: 2008.01.20:2138
-%%Pages: 1
-%*Font: cmr10 9.96265 9.96265 31:f80000000000000001
-%%EndProlog
-%%Page: 1 1
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
- [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit
-newpath 0 0 moveto
-0 155.90523 lineto stroke
-newpath 28.3464 0 moveto
-28.3464 155.90523 lineto stroke
-newpath 56.69281 0 moveto
-56.69281 155.90523 lineto stroke
-newpath 85.03922 0 moveto
-85.03922 155.90523 lineto stroke
-newpath 113.38562 0 moveto
-113.38562 155.90523 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 0 14.1732 moveto
-28.3464 14.1732 lineto stroke
-newpath 25.57474 13.02512 moveto
-28.3464 14.1732 lineto
-25.57474 15.32129 lineto
- closepath
-gsave fill grestore stroke
-newpath 0 42.5196 moveto
-28.3464 42.5196 lineto stroke
-newpath 25.57474 41.37152 moveto
-28.3464 42.5196 lineto
-25.57474 43.6677 lineto
- closepath
-gsave fill grestore stroke
-newpath 0 85.03922 moveto
-28.3464 85.03922 lineto stroke
-newpath 25.57474 83.89113 moveto
-28.3464 85.03922 lineto
-25.57474 86.1873 lineto
- closepath
-gsave fill grestore stroke
-newpath 0 141.73203 moveto
-28.3464 141.73203 lineto stroke
-newpath 25.57474 140.58394 moveto
-28.3464 141.73203 lineto
-25.57474 142.88011 lineto
- closepath
-gsave fill grestore stroke
-newpath 28.3464 28.3464 moveto
-56.69281 28.3464 lineto stroke
-newpath 53.92114 27.19832 moveto
-56.69281 28.3464 lineto
-53.92114 29.49449 lineto
- closepath
-gsave fill grestore stroke
-newpath 28.3464 70.86601 moveto
-56.69281 70.86601 lineto stroke
-newpath 53.92114 69.71793 moveto
-56.69281 70.86601 lineto
-53.92114 72.0141 lineto
- closepath
-gsave fill grestore stroke
-newpath 28.3464 127.55882 moveto
-56.69281 127.55882 lineto stroke
-newpath 53.92114 126.41074 moveto
-56.69281 127.55882 lineto
-53.92114 128.70691 lineto
- closepath
-gsave fill grestore stroke
-newpath 56.69281 56.69281 moveto
-85.03922 56.69281 lineto stroke
-newpath 82.26755 55.54472 moveto
-85.03922 56.69281 lineto
-82.26755 57.8409 lineto
- closepath
-gsave fill grestore stroke
-newpath 56.69281 113.38562 moveto
-85.03922 113.38562 lineto stroke
-newpath 82.26755 112.23753 moveto
-85.03922 113.38562 lineto
-82.26755 114.5337 lineto
- closepath
-gsave fill grestore stroke
-newpath 85.03922 99.21242 moveto
-113.38562 99.21242 lineto stroke
-newpath 110.61395 98.06433 moveto
-113.38562 99.21242 lineto
-110.61395 100.3605 lineto
- closepath
-gsave fill grestore stroke
- 0 0.69739 dtransform truncate idtransform setlinewidth pop
- [0 3.49998 ] 1.74998 setdash
-newpath -14.1732 21.25981 moveto
-127.55882 21.25981 lineto stroke
-newpath -14.1732 49.60622 moveto
-127.55882 49.60622 lineto stroke
-newpath -14.1732 92.12582 moveto
-127.55882 92.12582 lineto stroke
--5.1197 158.90523 moveto
-(x1) cmr10 9.96265 fshow
-23.2267 158.90523 moveto
-(x2) cmr10 9.96265 fshow
-51.5731 158.90523 moveto
-(x3) cmr10 9.96265 fshow
-79.91951 158.90523 moveto
-(x4) cmr10 9.96265 fshow
-108.26591 158.90523 moveto
-(x5) cmr10 9.96265 fshow
-showpage
-%%EOF
diff --git a/6-bitonic/sortnet.2 b/6-bitonic/sortnet.2
deleted file mode 100644 (file)
index 25656e7..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-%!PS
-%%BoundingBox: -6 42 119 166 
-%%Creator: MetaPost
-%%CreationDate: 2008.01.20:2138
-%%Pages: 1
-%*Font: cmr10 9.96265 9.96265 31:f80000000000000001
-%%EndProlog
-%%Page: 1 1
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
- [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit
-newpath 0 42.5196 moveto
-0 155.90523 lineto stroke
-newpath 28.3464 42.5196 moveto
-28.3464 155.90523 lineto stroke
-newpath 56.69281 42.5196 moveto
-56.69281 155.90523 lineto stroke
-newpath 85.03922 42.5196 moveto
-85.03922 155.90523 lineto stroke
-newpath 113.38562 42.5196 moveto
-113.38562 155.90523 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 0 56.69281 moveto
-28.3464 56.69281 lineto stroke
-newpath 25.57474 55.54472 moveto
-28.3464 56.69281 lineto
-25.57474 57.8409 lineto
- closepath
-gsave fill grestore stroke
-newpath 0 85.03922 moveto
-28.3464 85.03922 lineto stroke
-newpath 25.57474 83.89113 moveto
-28.3464 85.03922 lineto
-25.57474 86.1873 lineto
- closepath
-gsave fill grestore stroke
-newpath 0 113.38562 moveto
-28.3464 113.38562 lineto stroke
-newpath 25.57474 112.23753 moveto
-28.3464 113.38562 lineto
-25.57474 114.5337 lineto
- closepath
-gsave fill grestore stroke
-newpath 0 141.73203 moveto
-28.3464 141.73203 lineto stroke
-newpath 25.57474 140.58394 moveto
-28.3464 141.73203 lineto
-25.57474 142.88011 lineto
- closepath
-gsave fill grestore stroke
-newpath 28.3464 70.86601 moveto
-56.69281 70.86601 lineto stroke
-newpath 53.92114 69.71793 moveto
-56.69281 70.86601 lineto
-53.92114 72.0141 lineto
- closepath
-gsave fill grestore stroke
-newpath 28.3464 99.21242 moveto
-56.69281 99.21242 lineto stroke
-newpath 53.92114 98.06433 moveto
-56.69281 99.21242 lineto
-53.92114 100.3605 lineto
- closepath
-gsave fill grestore stroke
-newpath 28.3464 127.55882 moveto
-56.69281 127.55882 lineto stroke
-newpath 53.92114 126.41074 moveto
-56.69281 127.55882 lineto
-53.92114 128.70691 lineto
- closepath
-gsave fill grestore stroke
-newpath 56.69281 85.03922 moveto
-85.03922 85.03922 lineto stroke
-newpath 82.26755 83.89113 moveto
-85.03922 85.03922 lineto
-82.26755 86.1873 lineto
- closepath
-gsave fill grestore stroke
-newpath 56.69281 113.38562 moveto
-85.03922 113.38562 lineto stroke
-newpath 82.26755 112.23753 moveto
-85.03922 113.38562 lineto
-82.26755 114.5337 lineto
- closepath
-gsave fill grestore stroke
-newpath 85.03922 99.21242 moveto
-113.38562 99.21242 lineto stroke
-newpath 110.61395 98.06433 moveto
-113.38562 99.21242 lineto
-110.61395 100.3605 lineto
- closepath
-gsave fill grestore stroke
--5.1197 158.90523 moveto
-(x1) cmr10 9.96265 fshow
-23.2267 158.90523 moveto
-(x2) cmr10 9.96265 fshow
-51.5731 158.90523 moveto
-(x3) cmr10 9.96265 fshow
-79.91951 158.90523 moveto
-(x4) cmr10 9.96265 fshow
-108.26591 158.90523 moveto
-(x5) cmr10 9.96265 fshow
-showpage
-%%EOF
diff --git a/6-bitonic/sortnet.3 b/6-bitonic/sortnet.3
deleted file mode 100644 (file)
index e30c8cd..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-%!PS
-%%BoundingBox: -6 -1 266 95 
-%%Creator: MetaPost
-%%CreationDate: 2008.01.20:2138
-%%Pages: 1
-%*Font: cmmi10 9.96265 9.96265 3a:8000000000000002
-%*Font: cmr7 6.97385 6.97385 30:e
-%*Font: cmmi7 6.97385 6.97385 6e:8
-%*Font: cmsy7 6.97385 6.97385 00:8
-%%EndProlog
-%%Page: 1 1
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
- [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit
-newpath 0 0 moveto
-0 85.03922 lineto stroke
-newpath 28.3464 0 moveto
-28.3464 85.03922 lineto stroke
-newpath 56.69281 0 moveto
-56.69281 85.03922 lineto stroke
-newpath 85.03922 0 moveto
-85.03922 85.03922 lineto stroke
-newpath 113.38562 0 moveto
-113.38562 85.03922 lineto stroke
-newpath 141.73203 0 moveto
-141.73203 85.03922 lineto stroke
-newpath 170.07843 0 moveto
-170.07843 85.03922 lineto stroke
-newpath 198.42484 0 moveto
-198.42484 85.03922 lineto stroke
-newpath 226.77124 0 moveto
-226.77124 85.03922 lineto stroke
-newpath 255.11765 0 moveto
-255.11765 85.03922 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 0 70.86601 moveto
-141.73203 70.86601 lineto stroke
-newpath 138.96078 69.7181 moveto
-141.73203 70.86601 lineto
-138.96078 72.01393 lineto
- closepath
-gsave fill grestore stroke
-newpath 28.3464 56.69281 moveto
-170.07843 56.69281 lineto stroke
-newpath 167.30719 55.54489 moveto
-170.07843 56.69281 lineto
-167.30719 57.84073 lineto
- closepath
-gsave fill grestore stroke
-newpath 56.69281 42.5196 moveto
-198.42484 42.5196 lineto stroke
-newpath 195.6536 41.37169 moveto
-198.42484 42.5196 lineto
-195.6536 43.66753 lineto
- closepath
-gsave fill grestore stroke
-newpath 85.03922 28.3464 moveto
-226.77124 28.3464 lineto stroke
-newpath 224 27.19849 moveto
-226.77124 28.3464 lineto
-224 29.49432 lineto
- closepath
-gsave fill grestore stroke
-newpath 113.38562 14.1732 moveto
-255.11765 14.1732 lineto stroke
-newpath 252.3464 13.02528 moveto
-255.11765 14.1732 lineto
-252.3464 15.32112 lineto
- closepath
-gsave fill grestore stroke
--5.08165 89.53363 moveto
-(x) cmmi10 9.96265 fshow
-0.61224 88.03923 moveto
-(0) cmr7 6.97385 fshow
-23.26476 89.53363 moveto
-(x) cmmi10 9.96265 fshow
-28.95865 88.03923 moveto
-(1) cmr7 6.97385 fshow
-51.61116 89.53363 moveto
-(x) cmmi10 9.96265 fshow
-57.30505 88.03923 moveto
-(2) cmr7 6.97385 fshow
-135.09032 88.03922 moveto
-(:) cmmi10 9.96265 fshow
-139.51811 88.03922 moveto
-(:) cmmi10 9.96265 fshow
-143.94592 88.03922 moveto
-(:) cmmi10 9.96265 fshow
-216.11383 90.36383 moveto
-(x) cmmi10 9.96265 fshow
-221.80772 88.86943 moveto
-(n) cmmi7 6.97385 fshow
-226.73264 88.86943 moveto
-(\000) cmsy7 6.97385 fshow
-232.95923 88.86943 moveto
-(2) cmr7 6.97385 fshow
-244.46024 90.36383 moveto
-(x) cmmi10 9.96265 fshow
-250.15413 88.86943 moveto
-(n) cmmi7 6.97385 fshow
-255.07904 88.86943 moveto
-(\000) cmsy7 6.97385 fshow
-261.30563 88.86943 moveto
-(1) cmr7 6.97385 fshow
-showpage
-%%EOF
diff --git a/6-bitonic/sortnet.4 b/6-bitonic/sortnet.4
deleted file mode 100644 (file)
index e6ad3e1..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-%!PS
-%%BoundingBox: -1 -1 213 100 
-%%Creator: MetaPost
-%%CreationDate: 2008.01.20:2138
-%%Pages: 1
-%%EndProlog
-%%Page: 1 1
- 0 0.3985 dtransform truncate idtransform setlinewidth pop [] 0 setdash
- 1 setlinejoin 10 setmiterlimit
-newpath 0 14.1732 moveto
-212.59804 14.1732 lineto
-212.59804 28.3464 lineto
-0 28.3464 lineto
- closepath stroke
-newpath 0 42.5196 moveto
-99.21242 42.5196 lineto
-99.21242 56.69281 lineto
-0 56.69281 lineto
- closepath stroke
-newpath 113.38562 42.5196 moveto
-212.59804 42.5196 lineto
-212.59804 56.69281 lineto
-113.38562 56.69281 lineto
- closepath stroke
-newpath 0 70.86601 moveto
-42.5196 70.86601 lineto
-42.5196 85.03922 lineto
-0 85.03922 lineto
- closepath stroke
-newpath 56.69281 70.86601 moveto
-99.21242 70.86601 lineto
-99.21242 85.03922 lineto
-56.69281 85.03922 lineto
- closepath stroke
-newpath 113.38562 70.86601 moveto
-155.90523 70.86601 lineto
-155.90523 85.03922 lineto
-113.38562 85.03922 lineto
- closepath stroke
-newpath 170.07843 70.86601 moveto
-212.59804 70.86601 lineto
-212.59804 85.03922 lineto
-170.07843 85.03922 lineto
- closepath stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
- 1 setlinecap
-newpath 14.1732 99.21242 moveto
-14.1732 85.03922 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 13.02512 87.81088 moveto
-14.1732 85.03922 lineto
-15.32129 87.81088 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 28.3464 99.21242 moveto
-28.3464 85.03922 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 27.19832 87.81088 moveto
-28.3464 85.03922 lineto
-29.49449 87.81088 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 70.86601 99.21242 moveto
-70.86601 85.03922 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 69.71793 87.81088 moveto
-70.86601 85.03922 lineto
-72.0141 87.81088 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 85.03922 99.21242 moveto
-85.03922 85.03922 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 83.89113 87.81088 moveto
-85.03922 85.03922 lineto
-86.1873 87.81088 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 127.55882 99.21242 moveto
-127.55882 85.03922 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 126.41074 87.81088 moveto
-127.55882 85.03922 lineto
-128.70691 87.81088 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 141.73203 99.21242 moveto
-141.73203 85.03922 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 140.58394 87.81088 moveto
-141.73203 85.03922 lineto
-142.88011 87.81088 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 184.25163 99.21242 moveto
-184.25163 85.03922 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 183.10355 87.81088 moveto
-184.25163 85.03922 lineto
-185.39972 87.81088 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 198.42484 99.21242 moveto
-198.42484 85.03922 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 197.27675 87.81088 moveto
-198.42484 85.03922 lineto
-199.57292 87.81088 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 21.25981 70.86601 moveto
-21.25981 56.69281 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 20.11172 59.46448 moveto
-21.25981 56.69281 lineto
-22.4079 59.46448 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 77.95262 70.86601 moveto
-77.95262 56.69281 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 76.80453 59.46448 moveto
-77.95262 56.69281 lineto
-79.10071 59.46448 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 134.64543 70.86601 moveto
-134.64543 56.69281 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 133.49734 59.46448 moveto
-134.64543 56.69281 lineto
-135.79352 59.46448 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 191.33824 70.86601 moveto
-191.33824 56.69281 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 190.19016 59.46448 moveto
-191.33824 56.69281 lineto
-192.48633 59.46448 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 49.60622 42.5196 moveto
-49.60622 28.3464 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 48.45813 31.11807 moveto
-49.60622 28.3464 lineto
-50.7543 31.11807 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 162.99184 42.5196 moveto
-162.99184 28.3464 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 161.84375 31.11807 moveto
-162.99184 28.3464 lineto
-164.13992 31.11807 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 106.29903 14.1732 moveto
-106.29903 0 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 105.15094 2.77167 moveto
-106.29903 0 lineto
-107.44711 2.77167 lineto
- closepath
-gsave fill grestore stroke
-showpage
-%%EOF
diff --git a/6-bitonic/sortnet.5 b/6-bitonic/sortnet.5
deleted file mode 100644 (file)
index 6877616..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-%!PS
-%%BoundingBox: -1 -5 213 114 
-%%Creator: MetaPost
-%%CreationDate: 2008.01.20:2138
-%%Pages: 1
-%*Font: cmr10 9.96265 9.96265 10:98000000000020000000585328
-%*Font: cmmi10 9.96265 9.96265 42:800040000008
-%*Font: cmmi7 6.97385 6.97385 6e:8
-%*Font: cmmi5 4.98132 4.98132 6e:8
-%*Font: cmr5 4.98132 4.98132 32:a
-%%EndProlog
-%%Page: 1 1
- 0 0.3985 dtransform truncate idtransform setlinewidth pop [] 0 setdash
- 1 setlinejoin 10 setmiterlimit
-newpath 0 99.21242 moveto
-212.59804 99.21242 lineto
-212.59804 85.03922 lineto
-0 85.03922 lineto
- closepath stroke
-newpath 0 70.86601 moveto
-99.21242 70.86601 lineto
-99.21242 56.69281 lineto
-0 56.69281 lineto
- closepath stroke
-newpath 113.38562 70.86601 moveto
-212.59804 70.86601 lineto
-212.59804 56.69281 lineto
-113.38562 56.69281 lineto
- closepath stroke
-newpath 0 42.5196 moveto
-42.5196 42.5196 lineto
-42.5196 28.3464 lineto
-0 28.3464 lineto
- closepath stroke
-newpath 56.69281 42.5196 moveto
-99.21242 42.5196 lineto
-99.21242 28.3464 lineto
-56.69281 28.3464 lineto
- closepath stroke
-newpath 113.38562 42.5196 moveto
-155.90523 42.5196 lineto
-155.90523 28.3464 lineto
-113.38562 28.3464 lineto
- closepath stroke
-newpath 170.07843 42.5196 moveto
-212.59804 42.5196 lineto
-212.59804 28.3464 lineto
-170.07843 28.3464 lineto
- closepath stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
- 1 setlinecap
-newpath 106.29903 113.38562 moveto
-106.29903 99.21242 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 105.15094 101.98409 moveto
-106.29903 99.21242 lineto
-107.44711 101.98409 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 21.25981 56.69281 moveto
-21.25981 42.5196 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 20.11172 45.29128 moveto
-21.25981 42.5196 lineto
-22.4079 45.29128 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 77.95262 56.69281 moveto
-77.95262 42.5196 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 76.80453 45.29128 moveto
-77.95262 42.5196 lineto
-79.10071 45.29128 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 134.64543 56.69281 moveto
-134.64543 42.5196 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 133.49734 45.29128 moveto
-134.64543 42.5196 lineto
-135.79352 45.29128 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 191.33824 56.69281 moveto
-191.33824 42.5196 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 190.19016 45.29128 moveto
-191.33824 42.5196 lineto
-192.48633 45.29128 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 49.60622 85.03922 moveto
-49.60622 70.86601 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 48.45813 73.63768 moveto
-49.60622 70.86601 lineto
-50.7543 73.63768 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 162.99184 85.03922 moveto
-162.99184 70.86601 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 161.84375 73.63768 moveto
-162.99184 70.86601 lineto
-164.13992 73.63768 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 21.25981 28.3464 moveto
-21.25981 14.1732 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 20.11172 16.94487 moveto
-21.25981 14.1732 lineto
-22.4079 16.94487 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 77.95262 28.3464 moveto
-77.95262 14.1732 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 76.80453 16.94487 moveto
-77.95262 14.1732 lineto
-79.10071 16.94487 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 134.64543 28.3464 moveto
-134.64543 14.1732 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 133.49734 16.94487 moveto
-134.64543 14.1732 lineto
-135.79352 16.94487 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 191.33824 28.3464 moveto
-191.33824 14.1732 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 190.19016 16.94487 moveto
-191.33824 14.1732 lineto
-192.48633 16.94487 lineto
- closepath
-gsave fill grestore stroke
-98.21913 106.99612 moveto
-(n) cmmi10 9.96265 fshow
-100.53302 89.40462 moveto
-(S) cmmi10 9.96265 fshow
-106.64201 87.91022 moveto
-(n) cmmi7 6.97385 fshow
-42.91336 61.05821 moveto
-(S) cmmi10 9.96265 fshow
-50.21786 62.24112 moveto
-(n) cmmi5 4.98132 fshow
- 0 setlinecap
-newpath 50.21786 61.30731 moveto
-54.60545 61.30731 lineto stroke
-50.71666 57.16331 moveto
-(2) cmr5 4.98132 fshow
-156.29898 61.05821 moveto
-(S) cmmi10 9.96265 fshow
-163.60349 62.24112 moveto
-(n) cmmi5 4.98132 fshow
-newpath 163.60349 61.30731 moveto
-167.99107 61.30731 lineto stroke
-164.10228 57.16331 moveto
-(2) cmr5 4.98132 fshow
-14.56696 32.7118 moveto
-(S) cmmi10 9.96265 fshow
-21.87146 33.89471 moveto
-(n) cmmi5 4.98132 fshow
-newpath 21.87146 32.9609 moveto
-26.25905 32.9609 lineto stroke
-22.37025 28.81691 moveto
-(4) cmr5 4.98132 fshow
-71.25977 32.7118 moveto
-(S) cmmi10 9.96265 fshow
-78.56427 33.89471 moveto
-(n) cmmi5 4.98132 fshow
-newpath 78.56427 32.9609 moveto
-82.95186 32.9609 lineto stroke
-79.06306 28.81691 moveto
-(4) cmr5 4.98132 fshow
-127.95258 32.7118 moveto
-(S) cmmi10 9.96265 fshow
-135.25708 33.89471 moveto
-(n) cmmi5 4.98132 fshow
-newpath 135.25708 32.9609 moveto
-139.64467 32.9609 lineto stroke
-135.75587 28.81691 moveto
-(4) cmr5 4.98132 fshow
-184.64539 32.7118 moveto
-(S) cmmi10 9.96265 fshow
-191.94989 33.89471 moveto
-(n) cmmi5 4.98132 fshow
-newpath 191.94989 32.9609 moveto
-196.33748 32.9609 lineto stroke
-192.44868 28.81691 moveto
-(4) cmr5 4.98132 fshow
-59.69281 -2.71205 moveto
-(Bitonic) cmr10 9.96265 fshow
-90.82611 -2.71205 moveto
-(k\023) cmr10 9.96265 fshow
-96.08421 -2.71205 moveto
-(a) cmr10 9.96265 fshow
-104.38641 -2.71205 moveto
-(t) cmr10 9.96265 fshow
-107.72112 -2.71205 moveto
-(\024) cmr10 9.96265 fshow
-108.2608 -2.71205 moveto
-(r) cmr10 9.96265 fshow
-111.05591 -2.71205 moveto
-(\023) cmr10 9.96265 fshow
-112.16281 -2.71205 moveto
-(\020di) cmr10 9.96265 fshow
-122.9557 -2.71205 moveto
-(\024) cmr10 9.96265 fshow
-123.23251 -2.71205 moveto
-(ck) cmr10 9.96265 fshow
-132.36491 -2.71205 moveto
-(a) cmr10 9.96265 fshow
-140.66711 -2.71205 moveto
-(B) cmmi10 9.96265 fshow
-148.2239 -4.20645 moveto
-(n) cmmi7 6.97385 fshow
-showpage
-%%EOF
diff --git a/6-bitonic/sortnet.6 b/6-bitonic/sortnet.6
deleted file mode 100644 (file)
index 61b14d5..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-%!PS
-%%BoundingBox: -1 -1 213 100 
-%%Creator: MetaPost
-%%CreationDate: 2008.01.20:2138
-%%Pages: 1
-%*Font: cmmi10 9.96265 9.96265 4d:8
-%*Font: cmr7 6.97385 6.97385 32:a2
-%%EndProlog
-%%Page: 1 1
- 0 0.3985 dtransform truncate idtransform setlinewidth pop [] 0 setdash
- 1 setlinejoin 10 setmiterlimit
-newpath 0 14.1732 moveto
-212.59804 14.1732 lineto
-212.59804 28.3464 lineto
-0 28.3464 lineto
- closepath stroke
-newpath 0 42.5196 moveto
-99.21242 42.5196 lineto
-99.21242 56.69281 lineto
-0 56.69281 lineto
- closepath stroke
-newpath 113.38562 42.5196 moveto
-212.59804 42.5196 lineto
-212.59804 56.69281 lineto
-113.38562 56.69281 lineto
- closepath stroke
-newpath 0 70.86601 moveto
-42.5196 70.86601 lineto
-42.5196 85.03922 lineto
-0 85.03922 lineto
- closepath stroke
-newpath 56.69281 70.86601 moveto
-99.21242 70.86601 lineto
-99.21242 85.03922 lineto
-56.69281 85.03922 lineto
- closepath stroke
-newpath 113.38562 70.86601 moveto
-155.90523 70.86601 lineto
-155.90523 85.03922 lineto
-113.38562 85.03922 lineto
- closepath stroke
-newpath 170.07843 70.86601 moveto
-212.59804 70.86601 lineto
-212.59804 85.03922 lineto
-170.07843 85.03922 lineto
- closepath stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
- 1 setlinecap
-newpath 14.1732 99.21242 moveto
-14.1732 85.03922 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 13.02512 87.81088 moveto
-14.1732 85.03922 lineto
-15.32129 87.81088 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 28.3464 99.21242 moveto
-28.3464 85.03922 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 27.19832 87.81088 moveto
-28.3464 85.03922 lineto
-29.49449 87.81088 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 70.86601 99.21242 moveto
-70.86601 85.03922 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 69.71793 87.81088 moveto
-70.86601 85.03922 lineto
-72.0141 87.81088 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 85.03922 99.21242 moveto
-85.03922 85.03922 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 83.89113 87.81088 moveto
-85.03922 85.03922 lineto
-86.1873 87.81088 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 127.55882 99.21242 moveto
-127.55882 85.03922 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 126.41074 87.81088 moveto
-127.55882 85.03922 lineto
-128.70691 87.81088 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 141.73203 99.21242 moveto
-141.73203 85.03922 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 140.58394 87.81088 moveto
-141.73203 85.03922 lineto
-142.88011 87.81088 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 184.25163 99.21242 moveto
-184.25163 85.03922 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 183.10355 87.81088 moveto
-184.25163 85.03922 lineto
-185.39972 87.81088 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 198.42484 99.21242 moveto
-198.42484 85.03922 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 197.27675 87.81088 moveto
-198.42484 85.03922 lineto
-199.57292 87.81088 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 21.25981 70.86601 moveto
-21.25981 56.69281 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 20.11172 59.46448 moveto
-21.25981 56.69281 lineto
-22.4079 59.46448 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 77.95262 70.86601 moveto
-77.95262 56.69281 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 76.80453 59.46448 moveto
-77.95262 56.69281 lineto
-79.10071 59.46448 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 134.64543 70.86601 moveto
-134.64543 56.69281 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 133.49734 59.46448 moveto
-134.64543 56.69281 lineto
-135.79352 59.46448 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 191.33824 70.86601 moveto
-191.33824 56.69281 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 190.19016 59.46448 moveto
-191.33824 56.69281 lineto
-192.48633 59.46448 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 49.60622 42.5196 moveto
-49.60622 28.3464 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 48.45813 31.11807 moveto
-49.60622 28.3464 lineto
-50.7543 31.11807 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 162.99184 42.5196 moveto
-162.99184 28.3464 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 161.84375 31.11807 moveto
-162.99184 28.3464 lineto
-164.13992 31.11807 lineto
- closepath
-gsave fill grestore stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 106.29903 14.1732 moveto
-106.29903 0 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
-newpath 105.15094 2.77167 moveto
-106.29903 0 lineto
-107.44711 2.77167 lineto
- closepath
-gsave fill grestore stroke
-99.23177 18.66762 moveto
-(M) cmmi10 9.96265 fshow
-108.89697 17.17322 moveto
-(8) cmr7 6.97385 fshow
-42.53896 47.01402 moveto
-(M) cmmi10 9.96265 fshow
-52.20416 45.51962 moveto
-(4) cmr7 6.97385 fshow
-155.92458 47.01402 moveto
-(M) cmmi10 9.96265 fshow
-165.58978 45.51962 moveto
-(4) cmr7 6.97385 fshow
-14.19255 75.36043 moveto
-(M) cmmi10 9.96265 fshow
-23.85776 73.86603 moveto
-(2) cmr7 6.97385 fshow
-70.88536 75.36043 moveto
-(M) cmmi10 9.96265 fshow
-80.55057 73.86603 moveto
-(2) cmr7 6.97385 fshow
-127.57817 75.36043 moveto
-(M) cmmi10 9.96265 fshow
-137.24338 73.86603 moveto
-(2) cmr7 6.97385 fshow
-184.27098 75.36043 moveto
-(M) cmmi10 9.96265 fshow
-193.93619 73.86603 moveto
-(2) cmr7 6.97385 fshow
-showpage
-%%EOF
diff --git a/6-bitonic/sortnet.7 b/6-bitonic/sortnet.7
deleted file mode 100644 (file)
index 94619ca..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-%!PS
-%%BoundingBox: 9 5 191 130 
-%%Creator: MetaPost
-%%CreationDate: 2008.01.20:2138
-%%Pages: 1
-%*Font: cmr10 9.96265 9.96265 13:80000086000000000002247de1
-%*Font: cmmi10 9.96265 9.96265 6b:9
-%*Font: cmr7 6.97385 6.97385 32:8
-%*Font: cmmi7 6.97385 6.97385 6e:8
-%*Font: cmsy10 9.96265 9.96265 00:8
-%%EndProlog
-%%Page: 1 1
- 0 0.3985 dtransform truncate idtransform setlinewidth pop [] 0 setdash
- 1 setlinecap 1 setlinejoin 10 setmiterlimit
-newpath 19.84248 119.0549 moveto
-19.84248 39.68497 lineto
-178.58235 39.68497 lineto
-178.58235 119.0549 lineto stroke
-newpath 19.84248 59.52745 moveto
-69.4487 119.0549 lineto
-178.58235 79.36993 lineto stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
- [3 3 ] 0 setdash
-newpath 99.21242 19.84248 moveto
-99.21242 128.97615 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
- [0 3.49998 ] 1.74998 setdash
-newpath 130.36052 96.9054 moveto
-148.81863 119.0549 lineto stroke
-newpath 148.81863 119.0549 moveto
-178.58235 108.23186 lineto stroke
-newpath 50.99059 96.9054 moveto
-99.21242 79.36993 lineto stroke
- 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth
- [3 3 ] 0 setdash
-newpath 50.99059 96.9054 moveto
-50.99059 39.68497 lineto stroke
-newpath 130.36052 96.9054 moveto
-130.36052 39.68497 lineto stroke
- 0 0.3985 dtransform truncate idtransform setlinewidth pop
- [0 3.49998 ] 1.74998 setdash
-newpath 9.92125 9.92125 moveto
-29.76373 9.92125 lineto stroke
-newpath 52.48499 96.9054 moveto
-52.48499 97.30173 52.32755 97.68184 52.04729 97.9621 curveto
-51.76703 98.24236 51.38692 98.3998 50.99059 98.3998 curveto
-50.59425 98.3998 50.21414 98.24236 49.93388 97.9621 curveto
-49.65363 97.68184 49.49619 97.30173 49.49619 96.9054 curveto
-49.49619 96.50906 49.65363 96.12895 49.93388 95.8487 curveto
-50.21414 95.56844 50.59425 95.411 50.99059 95.411 curveto
-51.38692 95.411 51.76703 95.56844 52.04729 95.8487 curveto
-52.32755 96.12895 52.48499 96.50906 52.48499 96.9054 curveto closepath fill
-newpath 131.85492 96.9054 moveto
-131.85492 97.30173 131.69748 97.68184 131.41722 97.9621 curveto
-131.13696 98.24236 130.75685 98.3998 130.36052 98.3998 curveto
-129.96419 98.3998 129.58408 98.24236 129.30382 97.9621 curveto
-129.02356 97.68184 128.86612 97.30173 128.86612 96.9054 curveto
-128.86612 96.50906 129.02356 96.12895 129.30382 95.8487 curveto
-129.58408 95.56844 129.96419 95.411 130.36052 95.411 curveto
-130.75685 95.411 131.13696 95.56844 131.41722 95.8487 curveto
-131.69748 96.12895 131.85492 96.50906 131.85492 96.9054 curveto closepath fill
-17.35184 28.21677 moveto
-(0) cmr10 9.96265 fshow
-48.24048 29.76646 moveto
-(k) cmmi10 9.96265 fshow
-73.83423 33.03938 moveto
-(n) cmmi7 6.97385 fshow
- [] 0 setdash 0 setlinecap
-newpath 73.83423 31.60748 moveto
-78.75914 31.60748 lineto stroke
-74.31104 25.68127 moveto
-(2) cmr7 6.97385 fshow
-82.16853 29.11678 moveto
-(\000) cmsy10 9.96265 fshow
-92.13113 29.11678 moveto
-(1) cmr10 9.96265 fshow
-117.86421 28.21677 moveto
-(k) cmmi10 9.96265 fshow
-125.57831 28.21677 moveto
-(+) cmr10 9.96265 fshow
-136.7364 32.13937 moveto
-(n) cmmi7 6.97385 fshow
-newpath 136.7364 30.70747 moveto
-141.66132 30.70747 lineto stroke
-137.21321 24.78127 moveto
-(2) cmr7 6.97385 fshow
-167.0135 28.21677 moveto
-(n) cmmi10 9.96265 fshow
-175.2073 28.21677 moveto
-(\000) cmsy10 9.96265 fshow
-185.1699 28.21677 moveto
-(1) cmr10 9.96265 fshow
-32.76373 7.43059 moveto
-(p) cmr10 9.96265 fshow
-38.57533 7.43059 moveto
-(osloupnost) cmr10 9.96265 fshow
-87.94583 7.43059 moveto
-(prohozen\023) cmr10 9.96265 fshow
-127.27063 7.43059 moveto
-(a) cmr10 9.96265 fshow
-135.57283 7.43059 moveto
-(separ\023) cmr10 9.96265 fshow
-158.34863 7.43059 moveto
-(atorem) cmr10 9.96265 fshow
-showpage
-%%EOF
diff --git a/6-bitonic/sortnet.mp b/6-bitonic/sortnet.mp
deleted file mode 100644 (file)
index 081f9f4..0000000
+++ /dev/null
@@ -1,675 +0,0 @@
-%defaultfont:="csr12";
-%verbatimtex \input twelvecs etex
-u:=1 ;
-ahlength:=u*3;
-
-beginfig(0);
-v:=u*7mm;
-
-z12=(1v,1v);
-z13=(2v,1v);
-z21=(0v,2v);
-z22=(1v,2v);
-z23=(2v,2v);
-z24=(3v,2v);
-z31=(0v,4v);
-z32=(1v,4v);
-z33=(2v,4v);
-z34=(3v,4v);
-z42=(1v,5v);
-z43=(2v,5v);
-
-pickup pencircle scaled 0.4pt;
-draw(z21--z22--z23--z24--z34--z33--z32--z31--z21);
-drawarrow(z22--z12);
-drawarrow(z23--z13);
-drawarrow(z42--z32);
-drawarrow(z43--z33);
-
-label.bot(btex \strut a etex,z32);
-label.bot(btex \strut b etex,z33);
-label.top(btex min etex,z22);
-label.top(btex max etex,z23);
-
-
-endfig;
-
-beginfig(1);
-v:=u*5mm;
-z10=(0v,0v);
-z20=(2v,0v);
-z30=(4v,0v);
-z40=(6v,0v);
-z50=(8v,0v);
-
-z11=(0v,1v);
-z12=(0v,2v);
-z13=(0v,3v);
-z14=(0v,4v);
-z15=(0v,5v);
-z16=(0v,6v);
-z17=(0v,7v);
-z18=(0v,8v);
-z19=(0v,9v);
-z110=(0v,10v);
-
-z21=(2v,1v);
-z22=(2v,2v);
-z23=(2v,3v);
-z24=(2v,4v);
-z25=(2v,5v);
-z26=(2v,6v);
-z27=(2v,7v);
-z28=(2v,8v);
-z29=(2v,9v);
-z210=(2v,10v);
-
-z31=(4v,1v);
-z32=(4v,2v);
-z33=(4v,3v);
-z34=(4v,4v);
-z35=(4v,5v);
-z36=(4v,6v);
-z37=(4v,7v);
-z38=(4v,8v);
-z39=(4v,9v);
-z310=(4v,10v);
-
-z41=(6v,1v);
-z42=(6v,2v);
-z43=(6v,3v);
-z44=(6v,4v);
-z45=(6v,5v);
-z46=(6v,6v);
-z47=(6v,7v);
-z48=(6v,8v);
-z49=(6v,9v);
-z410=(6v,10v);
-
-z51=(8v,1v);
-z52=(8v,2v);
-z53=(8v,3v);
-z54=(8v,4v);
-z55=(8v,5v);
-z56=(8v,6v);
-z57=(8v,7v);
-z58=(8v,8v);
-z59=(8v,9v);
-z510=(8v,10v);
-
-z111=(0v,11v);
-z211=(2v,11v);
-z311=(4v,11v);
-z411=(6v,11v);
-z511=(8v,11v);
-
-z1015=(-1v,1.5v);
-z1615=(9v,1.5v);
-z1035=(-1v,3.5v);
-z1635=(9v,3.5v);
-z1065=(-1v,6.5v);
-z1665=(9v,6.5v);
-
-pickup pencircle scaled 0.4pt;
-draw(z10--z111);
-draw(z20--z211);
-draw(z30--z311);
-draw(z40--z411);
-draw(z50--z511);
-drawarrow(z11--z21);
-drawarrow(z13--z23);
-drawarrow(z16--z26);
-drawarrow(z110--z210);
-drawarrow(z22--z32);
-drawarrow(z25--z35);
-drawarrow(z29--z39);
-drawarrow(z34--z44);
-drawarrow(z38--z48);
-drawarrow(z47--z57);
-
-pickup pencircle scaled 0.7pt;
-draw(z1015--z1615) dashed withdots scaled 0.7;
-draw(z1035--z1635) dashed withdots scaled 0.7;
-draw(z1065--z1665) dashed withdots scaled 0.7;
-
-label.top(btex x1 etex,z111);
-label.top(btex x2 etex,z211);
-label.top(btex x3 etex,z311);
-label.top(btex x4 etex,z411);
-label.top(btex x5 etex,z511);
-
-endfig;
-
-beginfig(2);
-v:=u*5mm;
-z13=(0v,3v);
-z23=(2v,3v);
-z33=(4v,3v);
-z43=(6v,3v);
-z53=(8v,3v);
-
-z14=(0v,4v);
-z15=(0v,5v);
-z16=(0v,6v);
-z17=(0v,7v);
-z18=(0v,8v);
-z19=(0v,9v);
-z110=(0v,10v);
-
-z24=(2v,4v);
-z25=(2v,5v);
-z26=(2v,6v);
-z27=(2v,7v);
-z28=(2v,8v);
-z29=(2v,9v);
-z210=(2v,10v);
-
-z34=(4v,4v);
-z35=(4v,5v);
-z36=(4v,6v);
-z37=(4v,7v);
-z38=(4v,8v);
-z39=(4v,9v);
-z310=(4v,10v);
-
-z44=(6v,4v);
-z45=(6v,5v);
-z46=(6v,6v);
-z47=(6v,7v);
-z48=(6v,8v);
-z49=(6v,9v);
-z410=(6v,10v);
-
-z54=(8v,4v);
-z55=(8v,5v);
-z56=(8v,6v);
-z57=(8v,7v);
-z58=(8v,8v);
-z59=(8v,9v);
-z510=(8v,10v);
-
-z111=(0v,11v);
-z211=(2v,11v);
-z311=(4v,11v);
-z411=(6v,11v);
-z511=(8v,11v);
-
-pickup pencircle scaled 0.4pt;
-draw(z13--z111);
-draw(z23--z211);
-draw(z33--z311);
-draw(z43--z411);
-draw(z53--z511);
-drawarrow(z14--z24);
-drawarrow(z16--z26);
-drawarrow(z18--z28);
-drawarrow(z110--z210);
-drawarrow(z25--z35);
-drawarrow(z27--z37);
-drawarrow(z29--z39);
-drawarrow(z36--z46);
-drawarrow(z38--z48);
-drawarrow(z47--z57);
-
-label.top(btex x1 etex,z111);
-label.top(btex x2 etex,z211);
-label.top(btex x3 etex,z311);
-label.top(btex x4 etex,z411);
-label.top(btex x5 etex,z511);
-
-endfig;
-
-
-beginfig(3);
-v:=u*5mm;
-
-z10=(0v,0v);
-z15=(0v,5v);
-z16=(0v,6v);
-
-z20=(2v,0v);
-z24=(2v,4v);
-z26=(2v,6v);
-
-z30=(4v,0v);
-z33=(4v,3v);
-z36=(4v,6v);
-
-z40=(6v,0v);
-z42=(6v,2v);
-z46=(6v,6v);
-
-z50=(8v,0v);
-z51=(8v,1v);
-z56=(8v,6v);
-
-z60=(10v,0v);
-z65=(10v,5v);
-z66=(10v,6v);
-
-z70=(12v,0v);
-z74=(12v,4v);
-z76=(12v,6v);
-
-z80=(14v,0v);
-z83=(14v,3v);
-z86=(14v,6v);
-
-z90=(16v,0v);
-z92=(16v,2v);
-z96=(16v,6v);
-
-z100=(18v,0v);
-z101=(18v,1v);
-z106=(18v,6v);
-
-z110=(20v,0v);
-z116=(20v,6v);
-
-
-pickup pencircle scaled 0.4pt;
-draw(z10--z16);
-draw(z20--z26);
-draw(z30--z36);
-draw(z40--z46);
-draw(z50--z56);
-draw(z60--z66);
-draw(z70--z76);
-draw(z80--z86);
-draw(z90--z96);
-draw(z100--z106);
-drawarrow(z15--z65);
-drawarrow(z24--z74);
-drawarrow(z33--z83);
-drawarrow(z42--z92);
-drawarrow(z51--z101);
-
-label.top(btex $x_0$ etex,z16);
-label.top(btex $x_1$ etex,z26);
-label.top(btex $x_2$ etex,z36);
-label.top(btex \dots etex,z66);
-label.top(btex $x_{n-2}$ etex,z96);
-label.top(btex $x_{n-1}$ etex,z106);
-
-endfig;
-
-
-
-beginfig(4);
-v:=u*5mm;
-
-z1075=(7.5v,0v);
-
-z10=(0v,1v);
-z175=(7.5v,1v);
-z115=(15v,1v);
-
-z20=(0v,2v);
-z235=(3.5v,2v);
-z211=(11.5v,2v);
-z215=(15v,2v);
-
-z30=(0v,3v);
-z335=(3.5v,3v);
-z37=(7v,3v);
-z38=(8v,3v);
-z311=(11.5v,3v);
-z315=(15v,3v);
-
-z40=(0v,4v);
-z415=(1.5v,4v);
-z455=(5.5v,4v);
-z47=(7v,4v);
-z48=(8v,4v);
-z495=(9.5v,4v);
-z413=(13.5v,4v);
-z416=(15v,4v);
-
-z50=(0v,5v);
-z515=(1.5v,5v);
-z53=(3v,5v);
-z54=(4v,5v);
-z555=(5.5v,5v);
-z57=(7v,5v);
-z58=(8v,5v);
-z595=(9.5v,5v);
-z511=(11v,5v);
-z512=(12v,5v);
-z513=(13.5v,5v);
-z516=(15v,5v);
-
-z60=(0v,6v);
-z61=(1v,6v);
-z62=(2v,6v);
-z63=(3v,6v);
-z64=(4v,6v);
-z65=(5v,6v);
-z66=(6v,6v);
-z67=(7v,6v);
-z68=(8v,6v);
-z69=(9v,6v);
-z610=(10v,6v);
-z611=(11v,6v);
-z612=(12v,6v);
-z613=(13v,6v);
-z614=(14v,6v);
-z615=(15v,6v);
-
-z71=(1v,7v);
-z72=(2v,7v);
-z75=(5v,7v);
-z76=(6v,7v);
-z79=(9v,7v);
-z710=(10v,7v);
-z713=(13v,7v);
-z714=(14v,7v);
-
-
-
-
-pickup pencircle scaled 0.4pt;
-draw(z10--z115--z215--z20--cycle);
-draw(z30--z37--z47--z40--cycle);
-draw(z38--z315--z416--z48--cycle);
-draw(z50--z53--z63--z60--cycle);
-draw(z54--z57--z67--z64--cycle);
-draw(z58--z511--z611--z68--cycle);
-draw(z512--z516--z615--z612--cycle);
-drawarrow(z71--z61);
-drawarrow(z72--z62);
-drawarrow(z75--z65);
-drawarrow(z76--z66);
-drawarrow(z79--z69);
-drawarrow(z710--z610);
-drawarrow(z713--z613);
-drawarrow(z714--z614);
-drawarrow(z515--z415);
-drawarrow(z555--z455);
-drawarrow(z595--z495);
-drawarrow(z513--z413);
-drawarrow(z335--z235);
-drawarrow(z311--z211);
-drawarrow(z175--z1075);
-
-endfig;
-
-
-beginfig(5);
-v:=u*5mm;
-
-z075=(7.5v,8v);
-
-z10=(0v,7v);
-z175=(7.5v,7v);
-z115=(15v,7v);
-
-z20=(0v,6v);
-z235=(3.5v,6v);
-z211=(11.5v,6v);
-z215=(15v,6v);
-
-z30=(0v,5v);
-z335=(3.5v,5v);
-z37=(7v,5v);
-z38=(8v,5v);
-z311=(11.5v,5v);
-z315=(15v,5v);
-
-z40=(0v,4v);
-z415=(1.5v,4v);
-z455=(5.5v,4v);
-z47=(7v,4v);
-z48=(8v,4v);
-z495=(9.5v,4v);
-z413=(13.5v,4v);
-z416=(15v,4v);
-
-z50=(0v,3v);
-z515=(1.5v,3v);
-z53=(3v,3v);
-z54=(4v,3v);
-z555=(5.5v,3v);
-z57=(7v,3v);
-z58=(8v,3v);
-z595=(9.5v,3v);
-z511=(11v,3v);
-z512=(12v,3v);
-z513=(13.5v,3v);
-z516=(15v,3v);
-
-z60=(0v,2v);
-z61=(1v,2v);
-z62=(2v,2v);
-z63=(3v,2v);
-z64=(4v,2v);
-z65=(5v,2v);
-z66=(6v,2v);
-z67=(7v,2v);
-z68=(8v,2v);
-z69=(9v,2v);
-z610=(10v,2v);
-z611=(11v,2v);
-z612=(12v,2v);
-z613=(13v,2v);
-z614=(14v,2v);
-z615=(15v,2v);
-
-% ve skutecnosti dle znaceni 
-% by melo byt z6* ale uz 
-% obsazeno
-z815=(1.5v,2v);
-z855=(5.5v,2v);
-z895=(9.5v,2v);
-z813=(13.5v,2v);
-
-z715=(1.5v,1v);
-z755=(5.5v,1v);
-z795=(9.5v,1v);
-z713=(13.5v,1v);
-
-z9=(4v,0v);
-
-pickup pencircle scaled 0.4pt;
-draw(z10--z115--z215--z20--cycle);
-draw(z30--z37--z47--z40--cycle);
-draw(z38--z315--z416--z48--cycle);
-draw(z50--z53--z63--z60--cycle);
-draw(z54--z57--z67--z64--cycle);
-draw(z58--z511--z611--z68--cycle);
-draw(z512--z516--z615--z612--cycle);
-drawarrow(z075--z175);
-drawarrow(z415--z515);
-drawarrow(z455--z555);
-drawarrow(z495--z595);
-drawarrow(z413--z513);
-drawarrow(z235--z335);
-drawarrow(z211--z311);
-drawarrow(z815--z715);
-drawarrow(z855--z755);
-drawarrow(z895--z795);
-drawarrow(z813--z713);
-
-label.llft(btex $n$ etex,z075);
-label.bot(btex $S_n$ etex,z175);
-label.bot(btex $S_{n\over 2}$ etex,z335);
-label.bot(btex $S_{n\over 2}$ etex,z311);
-label.bot(btex $S_{n\over 4}$ etex,z515);
-label.bot(btex $S_{n\over 4}$ etex,z555);
-label.bot(btex $S_{n\over 4}$ etex,z595);
-label.bot(btex $S_{n\over 4}$ etex,z513);
-label.rt(btex Bitonick\'a t\v r\'\i di\v cka $B_{n}$ etex,z9);
-
-endfig;
-
-
-
-beginfig(6);
-v:=u*5mm;
-
-z1075=(7.5v,0v);
-
-z10=(0v,1v);
-z175=(7.5v,1v);
-z115=(15v,1v);
-
-z20=(0v,2v);
-z235=(3.5v,2v);
-z211=(11.5v,2v);
-z215=(15v,2v);
-
-z30=(0v,3v);
-z335=(3.5v,3v);
-z37=(7v,3v);
-z38=(8v,3v);
-z311=(11.5v,3v);
-z315=(15v,3v);
-
-z40=(0v,4v);
-z415=(1.5v,4v);
-z455=(5.5v,4v);
-z47=(7v,4v);
-z48=(8v,4v);
-z495=(9.5v,4v);
-z413=(13.5v,4v);
-z416=(15v,4v);
-
-z50=(0v,5v);
-z515=(1.5v,5v);
-z53=(3v,5v);
-z54=(4v,5v);
-z555=(5.5v,5v);
-z57=(7v,5v);
-z58=(8v,5v);
-z595=(9.5v,5v);
-z511=(11v,5v);
-z512=(12v,5v);
-z513=(13.5v,5v);
-z516=(15v,5v);
-
-z60=(0v,6v);
-z61=(1v,6v);
-z62=(2v,6v);
-z63=(3v,6v);
-z64=(4v,6v);
-z65=(5v,6v);
-z66=(6v,6v);
-z67=(7v,6v);
-z68=(8v,6v);
-z69=(9v,6v);
-z610=(10v,6v);
-z611=(11v,6v);
-z612=(12v,6v);
-z613=(13v,6v);
-z614=(14v,6v);
-z615=(15v,6v);
-
-z71=(1v,7v);
-z72=(2v,7v);
-z75=(5v,7v);
-z76=(6v,7v);
-z79=(9v,7v);
-z710=(10v,7v);
-z713=(13v,7v);
-z714=(14v,7v);
-
-
-
-
-pickup pencircle scaled 0.4pt;
-draw(z10--z115--z215--z20--cycle);
-draw(z30--z37--z47--z40--cycle);
-draw(z38--z315--z416--z48--cycle);
-draw(z50--z53--z63--z60--cycle);
-draw(z54--z57--z67--z64--cycle);
-draw(z58--z511--z611--z68--cycle);
-draw(z512--z516--z615--z612--cycle);
-drawarrow(z71--z61);
-drawarrow(z72--z62);
-drawarrow(z75--z65);
-drawarrow(z76--z66);
-drawarrow(z79--z69);
-drawarrow(z710--z610);
-drawarrow(z713--z613);
-drawarrow(z714--z614);
-drawarrow(z515--z415);
-drawarrow(z555--z455);
-drawarrow(z595--z495);
-drawarrow(z513--z413);
-drawarrow(z335--z235);
-drawarrow(z311--z211);
-drawarrow(z175--z1075);
-
-label.top(btex $M_8$ etex,z175);
-label.top(btex $M_4$ etex,z335);
-label.top(btex $M_4$ etex,z311);
-label.top(btex $M_2$ etex,z515);
-label.top(btex $M_2$ etex,z555);
-label.top(btex $M_2$ etex,z595);
-label.top(btex $M_2$ etex,z513);
-
-endfig;
-
-
-beginfig(7);
-v:=u*7mm;
-
-z12=(1v,2v);
-z13=(1v,3v);
-z16=(1v,6v);
-z356=(3.5v,6v);
-z40=(5v,1v);
-z42=(5v,2v);
-z47=(5v,6.5v);
-z72=(9v,2v);
-z74=(9v,4v);
-z76=(9v,6v);
-
-z100=(0.5v,0.5v);
-z101=(1.5v,0.5v);
-
-z0=whatever[z13,z356];
-z1=whatever[z356,z74];
-z1=z0+4v*right;
-z2=whatever[z12,z72];
-z2=z0+whatever*down;
-z3=whatever[z12,z72];
-z3=z1+whatever*down;
-z4=z356+4v*right;
-z5=whatever[z72,z76];
-z5=whatever[z4,z1+4v*right];
-z6=whatever[z40,z47];
-z6=z74+4v*left;
-
-
-pickup pencircle scaled 0.4pt;
-draw(z16--z12--z72--z76);
-draw(z13--z356--z74);
-draw(z40--z47) dashed evenly;
-draw(z1--z4) dashed withdots scaled 0.7;
-draw(z4--z5) dashed withdots scaled 0.7;
-draw(z0--z6) dashed withdots scaled 0.7;
-draw(z0--z2) dashed evenly;
-draw(z1--z3) dashed evenly;
-
-draw(z100--z101) dashed withdots scaled 0.7;
-
-pickup pencircle scaled 3pt;
-drawdot(z0);
-drawdot(z1);
-
-label.bot(btex \strut 0 etex,z12);
-label.bot(btex $k$ etex,z2);
-label.llft(btex \strut ${n\over 2} - 1$ etex,z42);
-label.bot(btex \strut $k+{n\over 2}$ etex,z3);
-label.bot(btex \strut $n-1$ etex,z72);
-label.rt(btex posloupnost prohozen\'a separ\'atorem etex,z101);
-
-endfig;
-
-
-
-
-
-
-
-end;
diff --git a/6-bitonic/sortnet.mpx b/6-bitonic/sortnet.mpx
deleted file mode 100644 (file)
index 9814d6d..0000000
+++ /dev/null
@@ -1,548 +0,0 @@
-% Written by DVItoMP, Version 0.64/color (Web2C 7.5.4)
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n0="cmr10";
-_s("a",_n0,1.00000,0.0000,0.0000,);
-setbounds _p to (0,-3.4869)--(4.9813,-3.4869)--
- (4.9813,8.4682)--(0,8.4682)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n0="cmr10";
-_s("b",_n0,1.00000,0.0000,0.0000,);
-setbounds _p to (0,-3.4869)--(5.5348,-3.4869)--
- (5.5348,8.4682)--(0,8.4682)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n0="cmr10";
-_s("min",_n0,1.00000,0.0000,0.0000,);
-setbounds _p to (0,0.0000)--(16.6045,0.0000)--
- (16.6045,6.6536)--(0,6.6536)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n0="cmr10";
-_s("max",_n0,1.00000,0.0000,0.0000,);
-setbounds _p to (0,0.0000)--(18.5416,0.0000)--
- (18.5416,4.2895)--(0,4.2895)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n0="cmr10";
-_s("x1",_n0,1.00000,0.0000,0.0000,);
-setbounds _p to (0,0.0000)--(10.2394,0.0000)--
- (10.2394,6.4204)--(0,6.4204)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n0="cmr10";
-_s("x2",_n0,1.00000,0.0000,0.0000,);
-setbounds _p to (0,0.0000)--(10.2394,0.0000)--
- (10.2394,6.4204)--(0,6.4204)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n0="cmr10";
-_s("x3",_n0,1.00000,0.0000,0.0000,);
-setbounds _p to (0,0.0000)--(10.2394,0.0000)--
- (10.2394,6.4204)--(0,6.4204)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n0="cmr10";
-_s("x4",_n0,1.00000,0.0000,0.0000,);
-setbounds _p to (0,0.0000)--(10.2394,0.0000)--
- (10.2394,6.4204)--(0,6.4204)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n0="cmr10";
-_s("x5",_n0,1.00000,0.0000,0.0000,);
-setbounds _p to (0,0.0000)--(10.2394,0.0000)--
- (10.2394,6.4204)--(0,6.4204)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n0="cmr10";
-_s("x1",_n0,1.00000,0.0000,0.0000,);
-setbounds _p to (0,0.0000)--(10.2394,0.0000)--
- (10.2394,6.4204)--(0,6.4204)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n0="cmr10";
-_s("x2",_n0,1.00000,0.0000,0.0000,);
-setbounds _p to (0,0.0000)--(10.2394,0.0000)--
- (10.2394,6.4204)--(0,6.4204)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n0="cmr10";
-_s("x3",_n0,1.00000,0.0000,0.0000,);
-setbounds _p to (0,0.0000)--(10.2394,0.0000)--
- (10.2394,6.4204)--(0,6.4204)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n0="cmr10";
-_s("x4",_n0,1.00000,0.0000,0.0000,);
-setbounds _p to (0,0.0000)--(10.2394,0.0000)--
- (10.2394,6.4204)--(0,6.4204)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n0="cmr10";
-_s("x5",_n0,1.00000,0.0000,0.0000,);
-setbounds _p to (0,0.0000)--(10.2394,0.0000)--
- (10.2394,6.4204)--(0,6.4204)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("x",_n1,1.00000,0.0000,0.0000,);
-_n2="cmr7";
-_s("0",_n2,1.00000,5.6939,-1.4944,);
-setbounds _p to (0,-1.4944)--(10.1633,-1.4944)--
- (10.1633,4.2895)--(0,4.2895)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("x",_n1,1.00000,0.0000,0.0000,);
-_n2="cmr7";
-_s("1",_n2,1.00000,5.6939,-1.4944,);
-setbounds _p to (0,-1.4944)--(10.1633,-1.4944)--
- (10.1633,4.2895)--(0,4.2895)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("x",_n1,1.00000,0.0000,0.0000,);
-_n2="cmr7";
-_s("2",_n2,1.00000,5.6939,-1.4944,);
-setbounds _p to (0,-1.4944)--(10.1633,-1.4944)--
- (10.1633,4.2895)--(0,4.2895)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s(":",_n1,1.00000,0.0000,0.0000,);
-_s(":",_n1,1.00000,4.4278,0.0000,);
-_s(":",_n1,1.00000,8.8556,0.0000,);
-setbounds _p to (0,0.0000)--(13.2834,0.0000)--
- (13.2834,1.0516)--(0,1.0516)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("x",_n1,1.00000,0.0000,0.0000,);
-_n3="cmmi7";
-_s("n",_n3,1.00000,5.6939,-1.4944,);
-_n4="cmsy7";
-_s(char0,_n4,1.00000,10.6188,-1.4944,);
-_n2="cmr7";
-_s("2",_n2,1.00000,16.8454,-1.4944,);
-setbounds _p to (0,-2.3246)--(21.3148,-2.3246)--
- (21.3148,4.2895)--(0,4.2895)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("x",_n1,1.00000,0.0000,0.0000,);
-_n3="cmmi7";
-_s("n",_n3,1.00000,5.6939,-1.4944,);
-_n4="cmsy7";
-_s(char0,_n4,1.00000,10.6188,-1.4944,);
-_n2="cmr7";
-_s("1",_n2,1.00000,16.8454,-1.4944,);
-setbounds _p to (0,-2.3246)--(21.3148,-2.3246)--
- (21.3148,4.2895)--(0,4.2895)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("n",_n1,1.00000,0.0000,0.0000,);
-setbounds _p to (0,0.0000)--(5.9799,0.0000)--
- (5.9799,4.2895)--(0,4.2895)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("S",_n1,1.00000,0.0000,0.0000,);
-_n3="cmmi7";
-_s("n",_n3,1.00000,6.1090,-1.4944,);
-setbounds _p to (0,-1.4944)--(11.5320,-1.4944)--
- (11.5320,6.8078)--(0,6.8078)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("S",_n1,1.00000,0.0000,0.0000,);
-_n5="cmmi5";
-_s("n",_n5,1.00000,7.3045,1.1829,);
-interim linecap:=0;
-vardef _r(expr _a,_w)(text _t) =
-  addto _p doublepath _a withpen pencircle scaled _w _t enddef;
-_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,);
-_n6="cmr5";
-_s("2",_n6,1.00000,7.8033,-3.8949,);
-setbounds _p to (0,-3.8949)--(13.3857,-3.8949)--
- (13.3857,6.8078)--(0,6.8078)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("S",_n1,1.00000,0.0000,0.0000,);
-_n5="cmmi5";
-_s("n",_n5,1.00000,7.3045,1.1829,);
-interim linecap:=0;
-vardef _r(expr _a,_w)(text _t) =
-  addto _p doublepath _a withpen pencircle scaled _w _t enddef;
-_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,);
-_n6="cmr5";
-_s("2",_n6,1.00000,7.8033,-3.8949,);
-setbounds _p to (0,-3.8949)--(13.3857,-3.8949)--
- (13.3857,6.8078)--(0,6.8078)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("S",_n1,1.00000,0.0000,0.0000,);
-_n5="cmmi5";
-_s("n",_n5,1.00000,7.3045,1.1829,);
-interim linecap:=0;
-vardef _r(expr _a,_w)(text _t) =
-  addto _p doublepath _a withpen pencircle scaled _w _t enddef;
-_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,);
-_n6="cmr5";
-_s("4",_n6,1.00000,7.8033,-3.8949,);
-setbounds _p to (0,-3.8949)--(13.3857,-3.8949)--
- (13.3857,6.8078)--(0,6.8078)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("S",_n1,1.00000,0.0000,0.0000,);
-_n5="cmmi5";
-_s("n",_n5,1.00000,7.3045,1.1829,);
-interim linecap:=0;
-vardef _r(expr _a,_w)(text _t) =
-  addto _p doublepath _a withpen pencircle scaled _w _t enddef;
-_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,);
-_n6="cmr5";
-_s("4",_n6,1.00000,7.8033,-3.8949,);
-setbounds _p to (0,-3.8949)--(13.3857,-3.8949)--
- (13.3857,6.8078)--(0,6.8078)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("S",_n1,1.00000,0.0000,0.0000,);
-_n5="cmmi5";
-_s("n",_n5,1.00000,7.3045,1.1829,);
-interim linecap:=0;
-vardef _r(expr _a,_w)(text _t) =
-  addto _p doublepath _a withpen pencircle scaled _w _t enddef;
-_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,);
-_n6="cmr5";
-_s("4",_n6,1.00000,7.8033,-3.8949,);
-setbounds _p to (0,-3.8949)--(13.3857,-3.8949)--
- (13.3857,6.8078)--(0,6.8078)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("S",_n1,1.00000,0.0000,0.0000,);
-_n5="cmmi5";
-_s("n",_n5,1.00000,7.3045,1.1829,);
-interim linecap:=0;
-vardef _r(expr _a,_w)(text _t) =
-  addto _p doublepath _a withpen pencircle scaled _w _t enddef;
-_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,);
-_n6="cmr5";
-_s("4",_n6,1.00000,7.8033,-3.8949,);
-setbounds _p to (0,-3.8949)--(13.3857,-3.8949)--
- (13.3857,6.8078)--(0,6.8078)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n0="cmr10";
-_s("Bitonic",_n0,1.00000,0.0000,0.0000,);
-_s("k"&char19,_n0,1.00000,31.1333,0.0000,);
-_s("a",_n0,1.00000,36.3914,0.0000,);
-_s("t",_n0,1.00000,44.6936,0.0000,);
-_s(char20,_n0,1.00000,48.0283,0.0000,);
-_s("r",_n0,1.00000,48.5680,0.0000,);
-_s(char19,_n0,1.00000,51.3631,0.0000,);
-_s(char16&"di",_n0,1.00000,52.4700,0.0000,);
-_s(char20,_n0,1.00000,63.2629,0.0000,);
-_s("ck",_n0,1.00000,63.5397,0.0000,);
-_s("a",_n0,1.00000,72.6721,0.0000,);
-_n1="cmmi10";
-_s("B",_n1,1.00000,80.9743,0.0000,);
-_n3="cmmi7";
-_s("n",_n3,1.00000,88.5311,-1.4944,);
-setbounds _p to (0,-1.4944)--(93.9541,-1.4944)--
- (93.9541,6.9185)--(0,6.9185)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("M",_n1,1.00000,0.0000,0.0000,);
-_n2="cmr7";
-_s("8",_n2,1.00000,9.6652,-1.4944,);
-setbounds _p to (0,-1.4944)--(14.1345,-1.4944)--
- (14.1345,6.8078)--(0,6.8078)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("M",_n1,1.00000,0.0000,0.0000,);
-_n2="cmr7";
-_s("4",_n2,1.00000,9.6652,-1.4944,);
-setbounds _p to (0,-1.4944)--(14.1345,-1.4944)--
- (14.1345,6.8078)--(0,6.8078)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("M",_n1,1.00000,0.0000,0.0000,);
-_n2="cmr7";
-_s("4",_n2,1.00000,9.6652,-1.4944,);
-setbounds _p to (0,-1.4944)--(14.1345,-1.4944)--
- (14.1345,6.8078)--(0,6.8078)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("M",_n1,1.00000,0.0000,0.0000,);
-_n2="cmr7";
-_s("2",_n2,1.00000,9.6652,-1.4944,);
-setbounds _p to (0,-1.4944)--(14.1345,-1.4944)--
- (14.1345,6.8078)--(0,6.8078)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("M",_n1,1.00000,0.0000,0.0000,);
-_n2="cmr7";
-_s("2",_n2,1.00000,9.6652,-1.4944,);
-setbounds _p to (0,-1.4944)--(14.1345,-1.4944)--
- (14.1345,6.8078)--(0,6.8078)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("M",_n1,1.00000,0.0000,0.0000,);
-_n2="cmr7";
-_s("2",_n2,1.00000,9.6652,-1.4944,);
-setbounds _p to (0,-1.4944)--(14.1345,-1.4944)--
- (14.1345,6.8078)--(0,6.8078)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("M",_n1,1.00000,0.0000,0.0000,);
-_n2="cmr7";
-_s("2",_n2,1.00000,9.6652,-1.4944,);
-setbounds _p to (0,-1.4944)--(14.1345,-1.4944)--
- (14.1345,6.8078)--(0,6.8078)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n0="cmr10";
-_s("0",_n0,1.00000,0.0000,0.0000,);
-setbounds _p to (0,-3.4869)--(4.9813,-3.4869)--
- (4.9813,8.4682)--(0,8.4682)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("k",_n1,1.00000,0.0000,0.0000,);
-setbounds _p to (0,0.0000)--(5.5002,0.0000)--
- (5.5002,6.9185)--(0,6.9185)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n3="cmmi7";
-_s("n",_n3,1.00000,1.1955,3.9226,);
-interim linecap:=0;
-vardef _r(expr _a,_w)(text _t) =
-  addto _p doublepath _a withpen pencircle scaled _w _t enddef;
-_r((1.1955,2.4907)..(6.1204,2.4907), 0.3985,);
-_n2="cmr7";
-_s("2",_n2,1.00000,1.6723,-3.4355,);
-_n7="cmsy10";
-_s(char0,_n7,1.00000,9.5298,0.0000,);
-_n0="cmr10";
-_s("1",_n0,1.00000,19.4924,0.0000,);
-setbounds _p to (0,-3.4869)--(24.4737,-3.4869)--
- (24.4737,8.4682)--(0,8.4682)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("k",_n1,1.00000,0.0000,0.0000,);
-_n0="cmr10";
-_s("+",_n0,1.00000,7.7141,0.0000,);
-_n3="cmmi7";
-_s("n",_n3,1.00000,18.8722,3.9226,);
-interim linecap:=0;
-vardef _r(expr _a,_w)(text _t) =
-  addto _p doublepath _a withpen pencircle scaled _w _t enddef;
-_r((18.8722,2.4907)..(23.7971,2.4907), 0.3985,);
-_n2="cmr7";
-_s("2",_n2,1.00000,19.3490,-3.4355,);
-setbounds _p to (0,-3.4869)--(24.9926,-3.4869)--
- (24.9926,8.4682)--(0,8.4682)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n1="cmmi10";
-_s("n",_n1,1.00000,0.0000,0.0000,);
-_n7="cmsy10";
-_s(char0,_n7,1.00000,8.1938,0.0000,);
-_n0="cmr10";
-_s("1",_n0,1.00000,18.1564,0.0000,);
-setbounds _p to (0,-3.4869)--(23.1377,-3.4869)--
- (23.1377,8.4682)--(0,8.4682)--cycle;
-_p endgroup
-mpxbreak
-begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture;
-string _n[];
-vardef _s(expr _t,_f,_m,_x,_y)(text _c)=
-  addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef;
-_n0="cmr10";
-_s("p",_n0,1.00000,0.0000,0.0000,);
-_s("osloupnost",_n0,1.00000,5.8116,0.0000,);
-_s("prohozen"&char19,_n0,1.00000,55.1821,0.0000,);
-_s("a",_n0,1.00000,94.5069,0.0000,);
-_s("separ"&char19,_n0,1.00000,102.8091,0.0000,);
-_s("atorem",_n0,1.00000,125.5849,0.0000,);
-setbounds _p to (0,-1.9372)--(156.0540,-1.9372)--
- (156.0540,6.9185)--(0,6.9185)--cycle;
-_p endgroup
-mpxbreak