\:chová se v prùmìru dobøe, a¾ na multiplikativní konstantu
\endlist
- \s{Vìta:} QS s náhodnou volbou pivota má slo¾itost prùmìrnì $\O(n\log n)$
+\s{Vìta:} QS s náhodnou volbou pivota má slo¾itost prùmìrnì $\O(n\log n)$
\foot{Vìta': QS s pevnou volbou pivota má v prùmìru pøes v¹echny permutace na vstupu èasovou slo¾itost $\O(n\log n)$.}
+\proof
+
+\figure{strom-dukaz.eps}{Dùkaz rozdìlením na fáze}{0.3\hsize}
+
+Provedeme rozdìlováním na fáze, pøi¾em¾ fází rozumíme cestu ve stromu, která sleduje
+vìt¹í díl a konèí, kdy¾ se povede vybrat za pivota l¾imedián.
+\qed
+
\s{Pozorování:}
\itemize\ibull
-\:Ka¾dá fáze rozdìlí vstup na disjunktní èásti + pivoty $X_1, \ldots, X_k$ ($k \geq 2$)
+\:Ka¾dá fáze rozdìlí vstup na disjunktní èásti a pivoty $X_1, \ldots, X_k$ ($k \geq 2$)
\:$\forall i: \vert X_i \vert \leq {3\over 4} \vert X \vert$
\s{Komprimovaný strom}
+<!-- obrázek -->
+
Hloubka je logaritmická $\Rightarrow$ $\O(log n)$ (proto¾e velikost
fáze klesá exponencálnì, a tak po $\O(\log n)$ krocích dostaneme posloupnosti
velikosti~1).
$\Downarrow$
-Celkem je v~prùmìru $\O(n \log n)$.
+Celková èasová slo¾itost je tedy v~prùmìru $\O(n \log n)$.
+
+Pamì»ové nároky jsou:
+$\O(n)$ na pomocné pole
+$\O(n)$ na zásobníku
+
+
+Dal¹í modifikace QSortu mù¾ete najít na:
+http://mj.ucw.cz/vyuka/0607/ads1/quicksort.pdf
+
\s{Vìta:}
Ka¾dý tøídící algoritmus zalo¾ený na porovnávání
(a prohazování) potøebuje na~vstup délky~$n$ v~nejhor¹ím pøípadì
$\Omega (n \log n)$ porovnání.
-\bye
-
\proof
- 1) {\tmsamp{BÚNO}} nejdøíve algoritmus porovnává a potom
- prohazuje
-
- {\small{ (algoritmus mù¾eme upravit tak aby
- prohazoval a¾ nakonci)}}
-
- 2) {\tmsamp{BÚNO}} hledáme vstupy, které jsou permutace na \{1 - n\}
-
- 3) Sestrojíme rozhodovací strom ne¹eho algoritmu
-
- \begin{tabular}{l}
- \
- \begin{tabular}{|l|}
- \hline
- $x_1 < x_2$\\
- \hline
- \end{tabular}
- \end{tabular}
-
- $\swarrow
- \searrow$
-
- \begin{tabular}{|l|}
- \hline
- $x_1 < x_3$\\
- \hline
- \end{tabular}
-
- $\swarrow \searrow$ \
- Ka¾dý algoritmus mù¾eme popsat podobným Stromem
-
- \begin{tabular}{|l|}
- \hline
- $x_2 < x_3$\\
- \hline
- \end{tabular}
-
- $\swarrow \searrow$
-
- {\tmstrong{$x_1 < x_2 < x_3$}} $\Leftarrow$ \
- {\tmstrong{Listy}} {\small{- algoritmus u¾ zde dotøídil a u¾ bude jen
- pøehazovat a pak zkonèí}}
-
-
-
- Jde vidìt ¾e $\tmmathbf{}$Existence dvou rùzných $\Pi_1 a \Pi_2 $,
-
- pøi kterých bychom zkonèili ve stejném listu vede ke Sporu
-
-
-
- pøitom {\tmstrong{\# listù $\geqslant$ n!}}
-
-
-
- {\tmstrong{Pozorování:}} Binární strom hloubku {\tmstrong{k}}
- má {\tmstrong{poèet listù $\leq 2^k$ }}
-
- \begin{tmparmod}{0pt}{2cm}{0pt}
- \begin{proof}
- {\small{}}Uva¾me binární strom hloubky k s maximálním
- poètem listù
-
- pak v¹echny listy le¾í na poslední hladinì
-
- víme ¾e na i-té hladinì je $2^i$ vrcholù
-
- $\tmmathbf{\Rightarrow}$ poèet listù je $2^k$
+\itemize\ibull
+ \:BÚNO nejdøíve algoritmus porovnává a potom
+ prohazuje (algoritmus mù¾eme upravit tak aby
+ prohazoval a¾ na~konci).
- \tmmathbf{$\Rightarrow$} v ka¾édém binárním stromu je
- maximálnì $2^k$ listù
- \end{proof}
- \end{tmparmod}
+ \:BÚNO hledáme vstupy, které jsou permutace na $\{1 - n\}$.
- {\tiny{pokraèování pùvodního dùkazu...}}
+ \:Sestrojíme rozhodovací strom na¹eho algoritmu
- Z toho co u¾ víme plyne ¾e $\Rightarrow$\begin{tabular}{l}
+<!-- obrázek -->
- \end{tabular}Hloubka stromu je $\geqslant$ log(n!)
+ \:Je vidìt, ¾e existence dvou rùzných $\Pi_1$ a $\Pi_2 $,
+ pøi kterých bychom skonèili ve stejném listu vede ke sporu,
+ pøitom poèet listù $\geq n!$
+\endlist
- {\small{z Diskrétní matematiky víme ¾e: \
- $\tmmathbf{n^{n / 2} \leq n!} \leq (n / 2)^n$}}
+{\narrower
+ \s{Pozorování:} Binární strom hloubku $k$ má poèet listù $\leq 2^k$.
+ Uva¾me binární strom hloubky $k$ s maximálním poètem listù, pak v¹echny listy
+ le¾í na poslední hladinì. Víme, ¾e na $i$-té hladinì je $2^i$ vrcholù a
+ poèet listù je $2^k$. Odtud plyne, ¾e v ka¾édém binárním stromu je maximálnì $2^k$ listù
- {\small{ Udìlá se to pomocí {\tmstrong{AG
- Nerovnosti}}}}
+}
- tedy $\Rightarrow$ Hloubka stromu je $\geqslant \log (n^{n / 2}) = (n / 2)
- \log (n) \Longrightarrow \tmmathbf{\Omega (n \log n)}$
+ pokraèování pùvodního dùkazu...
+ Z toho co u¾ víme plyne, ¾e hloubka stromu je nejvý¹e $\log(n!)$.
-\end{proof}
+ Z diskrétní matematiky víme ¾e: \
+ ${n^{n / 2} \leq n!} \leq (n / 2)^n$
+
+ My potøebujeme jen levou èást, tedy ¾e ${n^{n / 2} \leq n!}$
+ Toto jde dokázat pou¾ítím "AG Nerovnosti"
+
+ ...tedy dostáváme, ¾e hloubka stromu je $\geq \log (n^{n / 2}) = (n / 2)
+ \log (n) \Longrightarrow \Omega (n \log n)$
-\end{document}
+\qed
\bye