\>®ádný algoritmus v tabulce netøídil rychleji ne¾ $\Theta(n\log n)$. To není náhoda
-- nasledující vìta nám øíká, ¾e to nejde:
-{\bf XXX: Letos jsem vìtu dokazoval trochu jinak, nutno pøedìlat.}
-
\s{Vìta:}
-Ka¾dý tøídící algoritmus zalo¾ený na porovnávání a prohazování prvkù
+Ka¾dý deterministický tøídící algoritmus zalo¾ený na porovnávání a kopírování prvkù
potøebuje na vstup délky $n$ v nejhor¹ím pøípadì $\Omega (n \log n)$ porovnání.
-\proof
-Bez újmy na obecnosti budeme nejdøíve pøedpokládat o algoritmu dvì vìci:
-Jednak to, ¾e algoritmus nejprve porovnává, a teprve potom prohazuje.\foot{Algoritmus
-mù¾eme upravit tak, aby si pamatoval aktuální permutaci prvkù a podle ní prohazoval a¾ na konci.}
-Také pøedpokládáme, ¾e vstup algoritmu je permutace na mno¾inì $\{1, \ldots, n\}$.
+O pravdìpodobnostních se v prùmìru dá dokázat podobná vìta.
+
+\proof Bez újmy na obecnosti budeme nejdøíve pøedpokládat o algoritmu dvì vìci: Jednak
+to, ¾e algoritmus nejprve porovnává, a teprve potom kopíruje setøídìné prvky do
+výsledného pole.\foot{Algoritmus mù¾eme upravit tak, aby si pamatoval aktuální
+permutaci prvkù a podle ní prohazoval a¾ na konci.} Také pøedpokládáme, ¾e vstup
+algoritmu je permutace na mno¾inì $\{1, \ldots, n\}$. Toto je také bez újmy na
+obecnosti, proto¾e dokazujeme ¾e existuje vstup na kterém pobì¾í aspoò takhle dlouho.
+
+Chování tohoto algoritmu popí¹eme rozhodovacím stromem. V rozhodovacím stromu vnitøní
+vrcholy urèují jednotlivá porovnání prvkù a listy odpovídají okam¾ikùm, kdy algoritmus
+urèil permutaci. Porovnáváme prvky na jejich pùvodních pozicích. Nikdo nám nebrání
+porovnat prvek sám se sebou (proto mù¾e nastat rovnost) nebo porovnat nìco
+nìkolikrát\dots
-Chování tohoto algoritmu popí¹eme rozhodovacím stromem. V rozhodovacím stromu vnitøní vrcholy
-urèují jednotlivá porovnání prvkù a listy odpovídají okam¾ikùm, kdy algoritmus pøestal porovnávat a zaèal prohazovat.
+Hloubka rozhodovacího stromu odpovídá poètu porovnání. My chceme dokázat, ¾e porovnání
+musí být aspoò $\Omega (n\log n)$.
\figure{RozhodovaciStrom.eps}{Rozhodovací Strom}{0.3\hsize}
-Vstup je permutace $n$ prvkù, a víme ¾e poèet rùzných permutací je $n!$. Existuje tedy právì $n!$ rùzných vstupù.
-Dále si v¹imneme, ¾e nemohou existovat dvì vstupní permutace, pro které by algoritmus skonèil v tém¾e listu rozhodovacího stromu.
-Listù stromu je tedy alespoò tolik, kolik je rùzných vstupù, tedy $n!$.
+Vstup je permutace $n$ prvkù, a víme ¾e poèet rùzných permutací je $n!$. Existuje tedy
+právì $n!$ rùzných vstupù. Kompletní prùbìh algoritmu je urèen pouze výsledky
+porovnání. Dále si v¹imneme, ¾e nemohou existovat dvì vstupní permutace, pro které by
+algoritmus skonèil v tém¾e listu rozhodovacího stromu. Listù stromu je tedy alespoò
+tolik, kolik je rùzných vstupù, tedy $n!$.
{\narrower
- \s{Lemmátko:} Binární strom hloubky $k$ má nejvý¹e $2^k$ listù.
- \par\noindent {\sl Dùkazík:} Uva¾me binární strom hloubky $k$ s maximálním poètem
+ \s{Lemmátko:} Ternární strom hloubky $k$ má nejvý¹e $3^k$ listù.
+ \par\noindent {\sl Dùkazík:} Uva¾me ternární strom hloubky $k$ s maximálním poètem
listù. V takovém stromu budou v¹echny listy urèitì le¾et na poslední hladinì
(kdyby nele¾ely, mù¾eme pod nìkterý list na vy¹¹í hladinì pøidat dal¹í dva vrcholy a získat
- tak \uv{listnatìj¹í} strom stejné hloubky). Jeliko¾ na $i$-té hladinì je nejvý¹e $2^i$
- vrcholù, v¹ech listù je nejvý¹e $2^k$.
+ tak \uv{listnatìj¹í} strom stejné hloubky). Jeliko¾ na $i$-té hladinì je nejvý¹e $3^i$
+ vrcholù, v¹ech listù je nejvý¹e $3^k$.
\qed
}
-\>Z~tohoto lemmátka plyne, ¾e rozhodovací strom musí být hluboký alespoò $\log n!$.
+\>Z~tohoto lemmátka plyne, ¾e rozhodovací strom musí být hluboký alespoò $\log_3 n!$.
\>Zbytek je u¾ snadné cvièení z diskrétní matematiky: