nebo pokud pro některého ze~synů $x$ ležícího v~jiném bloku je $\<LowPoint>(x) < \<Enter>(v)$.
Druhá podmínka funguje díky tomu, že kořen bloku má v~tomto bloku právě jednoho syna
(jinak by existovala příčná hrana, což víme, že není pravda), takže minimum z~\<Ancestor>ů
-všech vrcholů ležících uvnitř bloku je přesně \<LowPoint> tohoto syna.
+všech vrcholů ležících uvnitř bloku a v~podřízených blocích je přesně \<LowPoint> tohoto syna.
Ve~statickém grafu by se všechny testy redukovaly na~$\<LowPoint>(w)$, nám se ovšem bloková
struktura průběžně mění, takže musíme uvažovat bloky v~současném okamžiku. Proto si zavedeme:
a~$y$, jejíž zbývající vrcholy neleží na hranici bloku.
Předpokládejme pro spor, že plot neexistuje. Před nakreslením zpětných hran
-vedoucích do~$v$ ještě blok~$B$ neexistoval a jeho vrcholy patřily do několika
+vedoucích do~$v$ ještě blok~$B$ neexistoval a jeho hrany patřily do několika
menších bloků. Speciálně víme, že $w$~byla artikulace oddělující $x$ od~$y$,
takže každá cesta mezi~$x$ a~$y$ musela procházet přes~$w$. Proto v~pořadí podle DFS
musí ležet~$w$ před aspoň jedním z~vrcholů $x$ a~$y$. Buď~$x$ nebo~$y$ tedy předtím musel
\:Díky {\bf C:} žádný vrchol na dolní cestě není externí.
\endlist
-Při vstupu~$r_1$ tedy plot vede k~externími vrcholu, zatímco dolní cesta
+Při vstupu do~$r_1$ tedy plot vede k~externími vrcholu, zatímco dolní cesta
k~internímu. Podle pravidla \#2 si algoritmus musí vybrat dolní cestu, kde ho
nic nezastaví, takže dojde až do~$w$ a~nakreslí zpětnou hranu $wv$. To je opět spor.
\qed
\:rozhazování prvků do přihrádek -- jelikož prvky v~hierarchii přihrádek
putují během operací pouze doleva a dolů (jejich hodnoty se nikdy nezvětšují),
klesne každý prvek nejvýše~$d$-krát, takže stačí, když na všechna rozhazování
- přispěje časem $\O(d)$.
+ přispěje časem $\O(d)$;
+\:hledání minima -- minimum naúčtujeme smazanému prvku, ostatní prvky,
+ které jsme museli projít, naúčtujeme jejich rozhazování.
\endlist
\>Stačí tedy, aby každý prvek při \<Insert>u zaplatil čas $\O(B+d)$ a jak \<Decrease>,
Potřebujeme čas $\O(m \log n)$ na~setřídění hran a dále datovou strukturu pro udržování komponent souvislosti
(Union-Find Problem), se~kterou provedeme $m$~operací \<Find> a $n$ operací \<Union>. Nejlepší známá implementace
-této struktury dává složitost obou operací $\O(\alpha(n))$ amortizovaně, takže celkově hladový algoritmus
-doběhne v~čase $\O(m \log n + m \alpha(n))$.
+této struktury dává složitost obou operací $\O(\alpha(n))$ amortizovaně, kde $\alpha$ je inverzní Ackermannova
+funkce. Celkově tedy hladový algoritmus doběhne v~čase $\O(m \log n + m \alpha(n))$.
\ss{Borůvkův:}