]> mj.ucw.cz Git - ads1.git/commitdiff
Kostry: Odstraneni slimejsu
authorMartin Mares <mj@ucw.cz>
Tue, 24 May 2011 16:21:01 +0000 (18:21 +0200)
committerMartin Mares <mj@ucw.cz>
Tue, 24 May 2011 16:21:01 +0000 (18:21 +0200)
7-kostry/7-kostry.tex

index bec8b0d0decdbd90d25d5e11bff41cc8738fa42c..505c81f6561db5ae971d4be9f848aad1010312f4 100644 (file)
@@ -68,11 +68,12 @@ jednozna
 \s{Implementace:}
 \itemize\ibull
 \:Pøímoèará: pamatujeme si, které vrcholy a hrany jsou v kostøe $T$ a které ne. Èasová slo¾itost je $\O(nm)$.
-\:Chytøej¹í: Pro $v\notin V(T)$ si pamatujeme $D(v)=\min\left\{w(uv):u\in T\right\}$. Pøi ka¾dém
+\:Chytøej¹í: Pro ka¾dý vrchol $v\notin V(T)$ si pamatujeme $$D(v)=\min\left\{w(uv):u\in T\right\},$$
+tedy nejlehèí hranu, která vede mezi~$T$ a~$v$. Pøi ka¾dém
 prùchodu hlavním cyklem pak procházíme v¹echna~$D(v)$ (to v¾dy trvá $\O(n)$) a pøi pøidání vrcholu do~$T$ kontrolujeme
 okolní~$D(w)$ pro $vw\in E$ a pøípadnì je sni¾ujeme (za~ka¾dou hranu~$\O(1)$). Èasovou slo¾itost tím celkovì
 zlep¹íme na~$\O(n^2+m)=\O(n^2)$.
-\:S pou¾itím haldy: $D(v)$ ukládáme do haldy. Potom provedeme nanejvý¹ $n$-krát {\I ExtractMin}, nanejvý¹ $n$-krát {\I Insert} a nanejvý¹ $m$-krát {\I Decrease}. Pro binární haldu to má èasovou slo¾itost $\O(m \log n)$. V¹imnìte si, ¾e Jarníkùv algoritmus s $D(v)$ je velmi podobný Dijkstrovu algoritmu pro nejkrat¹í cesty. Rozbor slo¾itosti pro rùzné typy hald proto také dopadne stejnì.
+\:S pou¾itím haldy: $D(v)$ ukládáme do haldy. Potom provedeme nanejvý¹ $n$-krát {\I ExtractMin}, nanejvý¹ $n$-krát {\I Insert} a nanejvý¹ $m$-krát {\I Decrease}. Pro binární haldu to má èasovou slo¾itost $\O(m \log n)$. V¹imnìte si, ¾e Jarníkùv algoritmus s $D(v)$ je velmi podobný Dijk\-stro\-vu algoritmu pro nejkrat¹í cesty. Rozbor slo¾itosti pro rùzné typy hald proto také dopadne stejnì.
 \endlist
 
 \h{Borùvkùv algoritmus}