]> mj.ucw.cz Git - ads1.git/commitdiff
Dalsich par kousku kapitoly o QS.
authorMartin Mares <mj@ucw.cz>
Mon, 14 May 2007 18:00:51 +0000 (20:00 +0200)
committerMartin Mares <mj@ucw.cz>
Mon, 14 May 2007 18:00:51 +0000 (20:00 +0200)
5-qs/5-qs.tex

index b95ea4f8ddb42c6dbefb77faec45500d7f26dfdf..b28bd5a5bb1d07ceecd18058abcfea9d56c8670b 100644 (file)
@@ -33,4 +33,135 @@ nejefektivn
     \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)$.}
 
+\s{Pozorování:}
+
+\itemize\ibull
+\:Ka¾dá fáze rozdìlí vstup na disjunktní èásti + pivoty $X_1, \ldots, X_k$ ($k \geq 2$)
+
+\:$\forall i: \vert X_i \vert \leq {3\over 4} \vert X \vert$
+
+\:$\sum_i  \vert X_i \vert \leq \vert X \vert$
+
+\:prùmìrná délka fáze je nejvý¹e~2 (proto¾e pravdìpodobnost na vybrání l¾imediánu je alespoò $1/2$)
+
+\:v prùmìru poèítáme jednu fázi v èase $\O(n)$
+
+\:Proto $T(n) = \sum_i T (n_i) + \O(n)$, kde $n = \vert X \vert$, $n_i = \vert X_i \vert$.
+
+\endlist
+
+\s{Komprimovaný strom}
+
+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).
+
+Práce na jedné hladinì je $\O(n)$.
+
+$\Downarrow$
+
+Celkem je v~prùmìru $\O(n \log n)$.
+
+\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$
+
+      \tmmathbf{$\Rightarrow$} v ka¾édém binárním stromu je
+      maximálnì $2^k$ listù
+    \end{proof}
+  \end{tmparmod}
+
+  {\tiny{pokraèování pùvodního dùkazu...}}
+
+  Z toho co u¾ víme plyne ¾e $\Rightarrow$\begin{tabular}{l}
+
+  \end{tabular}Hloubka stromu je $\geqslant$ log(n!)
+
+  {\small{z Diskrétní matematiky víme ¾e: \
+  $\tmmathbf{n^{n / 2} \leq n!} \leq (n / 2)^n$}}
+
+  {\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)}$
+
+
+\end{proof}
+
+\end{document}
+
 \bye