]> mj.ucw.cz Git - ga.git/commitdiff
Merge branch 'master' of git+ssh://git.ucw.cz/home/mj/GIT/ga master
authorMartin Mares <mj@ucw.cz>
Mon, 15 Jan 2024 21:08:42 +0000 (22:08 +0100)
committerMartin Mares <mj@ucw.cz>
Mon, 15 Jan 2024 21:08:42 +0000 (22:08 +0100)
11-planar/11-planar.tex
13-dijkstra/13-dijkstra.tex
5-mst/5-mst.tex

index 7401c6680227dd8469052b5d4060e091c42951b3..97d4e0099383ae9c62034a36dc4c1ed4534b27b0 100644 (file)
@@ -148,7 +148,7 @@ Jinými slovy platí, že vrchol $w$ je externí při zpracování vrcholu~$v$,
 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:
 
@@ -363,7 +363,7 @@ $x$ i~$y$. Dokážeme nyní, že uvnitř bloku existuje {\I plot} -- cesta mezi~
 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
@@ -409,7 +409,7 @@ takže je nyní externí.
 \: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
index 942839d4f0cf205b82b0589349a7387a6689aa6c..267503cc61ea1924c03e3784e6d775a97afceac3 100644 (file)
@@ -403,7 +403,9 @@ prvky rozprostřeme do~přihrádek na~bezprostředně nižší úrovni, kterou t
 \: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>,
index e77eb0201196ca81c138a1de07cadc64f125e6d9..acd5aff5520469a79aa8bae0a1bdb054a28f2921 100644 (file)
@@ -215,8 +215,8 @@ je maximální na~nějakém cyklu tvořeném touto hranou a nějakými dříve p
 
 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:}