]> mj.ucw.cz Git - ga.git/commitdiff
Added lots of references, expect more soon.
authorMartin Mares <mj@ucw.cz>
Wed, 10 Jan 2007 21:24:51 +0000 (22:24 +0100)
committerMartin Mares <mj@ucw.cz>
Wed, 10 Jan 2007 21:24:51 +0000 (22:24 +0100)
14 files changed:
10-decomp/10-decomp.tex
3-bipcon/3-bipcon.tex
4-ght/4-ght.tex
5-mst/5-mst.tex
6-borjar/6-borjar.tex
7-ram/7-ram.tex
8-qheap/8-qheap.tex
9-suffix/9-suffix.tex
Makerules
all/Makefile
all/ga.tex [new file with mode: 0644]
all/preprocess
ga.bib [new file with mode: 0644]
sgr.tex

index 1be6170957fd8354faf25e16606c5c877546136f..480112f3d7f5c09a045eb4ab8a4402efeaea0951 100644 (file)
@@ -49,7 +49,7 @@ m
 bude omezena $\O(\log n)$.%
 \foot{Mimochodem, Path compression samotná by také na~slo¾itost $\O(\log n)$ amortizovanì staèila.}
 
-\s{Vìta:} (Tarjan et al.) Kombinace Union by rank a Path compression vede k~amortizované
+\s{Vìta:} (Tarjan, van Leeuwen \cite{tarjan84setunion}) Kombinace Union by rank a Path compression vede k~amortizované
 slo¾itosti obou operací $\O(\alpha(n))$, kde $\alpha$ je inverzní Ackermannova funkce.%
 \foot{Existuje varianta tohoto algoritmu, která dosahuje stejné slo¾itosti i v~nejhor¹ím
 pøípadì; té¾ je známo, ¾e asymptoticky lep¹í slo¾itosti nelze dosáhnout.}
@@ -59,7 +59,8 @@ p
 Dále nás bude zajímat speciální varianta Union-Find problemu, v~ní¾ dopøedu známe
 posloupnost unionù, èili strom, který spojováním komponent vznikne. Popí¹eme algoritmus,
 který po~poèáteèním pøedzpracování v~èase $\O(n)$ zvládne \<Union> i \<Find> v~amortizovanì
-konstantním èase.
+konstantním èase. Tento algoritmus je kombinací dekompozic popsaných v~\cite{alstrup97optimal}
+a \cite{alstrup98marked}.
 
 \s{Definice:} {\I (Microtree/Macrotree dekompozice)} Pro zakoøenìný strom $T$ o~$n$ vrcholech
 definujeme:
@@ -165,7 +166,7 @@ rozlo
 \h{Fredericksonova clusterizace}
 
 Mikro/makro-stromová dekompozice není jediný zpùsob, jak stromy rozkládat. Nìkdy
-se hodí napøíklad následující my¹lenka:
+se hodí napøíklad následující my¹lenka: \cite{frederickson91ambivalent}
 
 \s{Definice:} (Fredericksonova clusterizace) Nech» $G$ je graf s~vrcholy stupòù nejvý¹e~3
 a $c\ge 1$. Pak $c$-clusterizací grafu $G$ nazveme libovolný rozklad
@@ -205,7 +206,7 @@ spole
 \:\dots\ co dál?
 \endlist
 
-Vìrni vtipùm o~matfyzácích pøevedeme radìji tento problém na~jiný:
+\>Vìrni vtipùm o~matfyzácích a èlánku \cite{bender00lca} pøevedeme radìji tento problém na~jiný.
 
 \s{Problém:} {\I (Range Minimum Query alias RMQ)} Chceme pøedzpracovat posloupnost èísel
 $a_1,\ldots a_n$ tak, abychom umìli rychle poèítat $\min_{x\le i\le y} a_i$.%
@@ -278,4 +279,5 @@ V
 \s{Vìta:} Problémy LCA i RMQ je mo¾né øe¹it v~konstantním èase na~dotaz
 po~pøedzpracování v~lineárním èase.
 
+\references
 \bye
index dac92709cccaf84e37a17d3ab903b87b262b3f01..dcca2dd3eb61ed6ffdae889589d22f7b58af69d5 100644 (file)
@@ -1,8 +1,3 @@
-%%%%%%%%%%%%
-% Zápisek tøetího semináre z grafových agoritmù - ze dne 20.3.2006
-% Zapsal Jiøí Peinlich - peinlich@seznam.cz a Michal Kùrka - michal.kurka@gmail.com
-%%%%%%%%%%%
-
 \input ../sgr.tex
 
 \prednaska{3}{Bipartitní párování a globální k-souvislost}{zapsali Jiøí Peinlich, Michal Kùrka}
@@ -11,7 +6,7 @@
 a minimálního øezu. V~této si pøedvedeme dva algoritmy pro podobné problémy,
 které se obejdou bez tokù.
 
-\h{Maximální párování v regulárním bipartitním grafu}
+\h{Maximální párování v regulárním bipartitním grafu \cite{alon:matching}}
 
 Nejprve si nadefinujme operaci {\I Degree Split,} která dostane jako vstup libovolný
 $2k$-regulární graf $G=(V,E)$ a rozdìlí ho na~podgrafy $G_1=(V,E_1)$ a $G_2=(V,E_2)$, které budou
@@ -75,7 +70,7 @@ bude $\O(\kappa (G) n^{3/2} m)$, kde $\kappa(G)$ je stupe
 
 Pro minimální øezy v~neorientovaných grafech ov¹em existuje následující rychlej¹í algoritmus:
 
-\h{Globálnì minimální øez (Nagamochi, Ibaraki)}
+\h{Globálnì minimální øez (Nagamochi, Ibaraki \cite{nagaiba:conn})}
 
 Buï $G$ neorientovaný graf s~ohodnocením na~hranách. Oznaèíme si:
 
@@ -133,4 +128,5 @@ odstranit. Operace \<Increase> pot
 malý poèet pøihrádek, pøípadnì zalo¾ení nové pøihrádky na správném místì.
 \<DeleteMax> i \<Increase> pak budou mít slo¾itost $\O(1)$ a celý algoritmus $\O(mn)$.
 
+\references
 \bye
index 44127b06e846694fe3bcbc5a88d2577a391fabd1..5daf909fa8d40de8af45c5b5961f1d1938d37372 100644 (file)
@@ -21,7 +21,7 @@ Zat
 grafu v~èase $\tau=\O(n^{2/3}m)$ pro~jednotkové kapacity, $\O(n^2m)$ pro obecné.
 Nalézt minimální \st-øez pro ka¾dou dvojici vrcholù
 bychom tedy dokázali v~èase $\O(n^2\tau)$. Tento výsledek budeme
-chtít zlep¹it.
+chtít zlep¹it. \cite{gomoryhu}
 
 \s{Znaèení:} Máme\li{} graf $(V,E)$ a $U\subseteq V$, $\d(U)$ znaèí hrany vedoucí
 mezi $U$ a $\overline U$, formálnì tedy $\d(U)=E \cap ((U \times \overline U) \cup (\overline U \times U))$.
@@ -247,4 +247,7 @@ nalezneme v~
 zpracujeme rekurzivnì. Celou výstavbu tedy zvládneme v~èase $\O(n\tau)$, èili $\O(n^{5/3}m)$
 pro neohodnocené grafy.
 
+\todo{Odkazy na rychlej¹í algoritmy}
+
+\references
 \bye
index 6ef95c8c65048a82449128e9501856fe5b97cd6e..387b662d68bb249bcfc1bea881e37d88cf7702d8 100644 (file)
@@ -37,7 +37,7 @@ Bu
   Ostatním hranám nele¾ícím v~kostøe budeme øíkat {\I tì¾ké.}
 \endlist
 
-\s{Vìta:} Kostra~$T$ je minimální $\Leftrightarrow$ neexistuje hrana lehká vzhledem k~$T$.
+\s{Vìta:} (Tarjan \cite{tarjan:dsna}) Kostra~$T$ je minimální $\Leftrightarrow$ neexistuje hrana lehká vzhledem k~$T$.
 
 Tato vìta nám dává pìknou alternativní definici MST, která místo sèítání vah váhy
 pouze porovnává, èili jí místo èísel staèí (kvazi)uspoøádání na~hranách. Ne¾ se dostaneme
@@ -120,7 +120,7 @@ V
 meta-algoritmu. Rozeberme si tedy rovnou ten. Formulujeme ho pro pøípad, kdy jsou v¹echny
 váhy hran navzájem rùzné.
 
-\s{Meta-algoritmus:}
+\s{Meta-algoritmus:} (Tarjan \cite{tarjan:dsna})
 
 \algo
 \:Na poèátku jsou v¹echny hrany bezbarvé.
@@ -242,4 +242,5 @@ P
 \s{Cvièení:}
 Naleznìte algoritmus pro výpoèet MST v~grafech ohodnocených vahami $\{1,\ldots k\}$ se slo¾itostí $\O(mk)$.
 
+\references
 \bye
index ca7b4ee18844d77ad4f69c50ff1de90179bf3685..3d742608bc49c353d96bf417ca43314c890a174b 100644 (file)
@@ -15,7 +15,7 @@ z~$G$ kontrakc
 expandováním kontrahovaných vrcholù, je ${\rm MST}(G)$.
 To nás vede k následujícímu algoritmu:
 
-\s{Algoritmus: MST v rovinných grafech}
+\s{Algoritmus: MST v rovinných grafech} \cite{mm:mst}
 \algo
 \:Ke ka¾dému vrcholu najdeme nejlevnìj¹í incidentní hranu -- dostaneme mno¾inu hran $F \subseteq E$.
 \:Graf zkontrahujeme podle $F$ následovnì:
@@ -76,8 +76,6 @@ Jeliko
 mù¾eme pro odhad jejich hustoty pou¾ít pøedchozí vìtu a dostaneme lineární èasovou slo¾itost
 dokonce pro ka¾dou netriviální minorovì uzavøenou tøídu grafù.
 
-%%%Tomas Gavenciak
-
 \h{Jarníkùv algoritmus s Fibonacciho haldou}
 
 Pùvodní Jarníkùv algoritmus s~haldou má díky ní slo¾itost $\O(m\log n)$, to zlep¹íme pou¾itím
@@ -86,7 +84,7 @@ s~dosavadn
 Tyto trojice bude halda udr¾ovat uspoøádané podle vah.
 
 \newcount\algcnt
-\s{Algoritmus: Jarníkùv algoritmus~\#2 (Fredman, Tarjan)}
+\s{Algoritmus: Jarníkùv algoritmus~\#2 (Fredman, Tarjan \cite{ft:fibonacci})}
 \algo
 \:Zaèneme libovolným vrcholem $v_0$: $T=\{v_0\}$.
 \:Do~haldy $H$ umístíme v¹echny sousedy $v_0$ spolu s pøíslu¹nými hranami.
@@ -135,7 +133,7 @@ velikost haldy a takto budeme b
 jednotlivé podkostøièky zastavené v rùstu pøeteèením haldy, podle kterých
 graf následnì zkontrahujeme a budeme pokraèovat s mnohem men¹ím grafem.
 
-\s{Algoritmus: Jarníkùv algoritmus~\#4 (Fredman, Tarjan)}
+\s{Algoritmus: Jarníkùv algoritmus~\#4 (Fredman, Tarjan \cite{ft:fibonacci})}
 \algo
 \:Opakuji, dokud mám netriviální $G$ (s alespoò jednou hranou):
 \::$t=\vert V_G\vert$.
@@ -182,23 +180,24 @@ omezen
 \itemize\ibull
 \:$\O(m\alpha(m,n))$, kde $\alpha(m,n)$ je obdoba inverzní
   Ackermannovy funkce definovaná podobnì, jako je $\beta(m,n)$ obdobou $\log^*$.
-  [Chazelle 2000]
+  \cite{chazelle:ackermann}, \cite{pettie:ackermann}
 \:$\O({\cal T}(m,n))$, kde ${\cal T}(m,n)$ je hloubka optimálního rozhodovacího stromu
   pro nalezení minimální kostry v~grafech s~patøièným poètem hran a vrcholù
-  [Pettie, Ramachandran 2002].
+  \cite{pettie:optimal}.
   Jeliko¾ ka¾dý deterministický algoritmus zalo¾ený na~porovnávání vah lze popsat rozhodovacím stromem,
   je tento algoritmus zaruèenì optimální. Jen bohu¾el nevíme, optimální stromy vypadají, tak¾e
   je stále otevøeno, zda lze MST nalézt v~lineárním èase. Nicménì jeliko¾ tento algoritmus
   pracuje i na~Pointer Machine, víme, ¾e pokud je lineární slo¾itosti mo¾né dosáhnout, není k~tomu
   potøeba výpoèetní síla RAMu.\foot{O výpoèetních modelech viz pøí¹tí kapitola.}
-\:$\O(m)$ pro grafy s~celoèíselnými vahami (na~RAMu) [Fredman, Willard 1990] -- uká¾eme v~jedné
+\:$\O(m)$ pro grafy s~celoèíselnými vahami (na~RAMu) \cite{fw90trans} -- uká¾eme v~jedné
   z~následujících kapitol.
 \:$\O(m)$, pokud u¾ máme hrany setøídìné podle vah: jeliko¾ víme, ¾e zále¾í jen na~uspoøádání,
   mù¾eme váhy pøeèíslovat na~$1\ldots n$ a pou¾ít pøedchozí algoritmus.
-\:$\O(m)$ randomizovanì v~prùmìrném pøípadì [Karger, Klein, Tarjan 1995]
-\:Na~zji¹tìní, zda je zadaná kostra minimální, staèí $\O(m)$ porovnání [Komlós 1984] a dokonce
-  lze v~lineárním èase zjistit, která to jsou [King 1995]. Z~toho ostatnì vychází pøedchozí
+\:$\O(m)$ randomizovanì v~prùmìrném pøípadì \cite{karger:randomized}.
+\:Na~zji¹tìní, zda je zadaná kostra minimální, staèí $\O(m)$ porovnání \cite{komlos:verify} a dokonce
+  lze v~lineárním èase zjistit, která to jsou \cite{king:verify}. Z~toho ostatnì vychází pøedchozí
   randomizovaný algoritmus.
 \endlist
 
+\references
 \bye
index 69b3f4b55edee23bb9b5607672712fbd15ca270e..da0a06d65701ae65e973769800f590dbef29a0e8 100644 (file)
@@ -36,7 +36,7 @@ pod
 Obvykle se pou¾ívají následující dva modely, které se li¹í zejména v~tom,
 zda je mo¾né pamì» indexovat v~konstantním èase èi nikoliv.
 
-\s{Pointer Machine (PM)} pracuje se dvìma typy dat: {\I èísly} v~pevnì omezeném
+\s{Pointer Machine (PM)} \cite{benamram95what} pracuje se dvìma typy dat: {\I èísly} v~pevnì omezeném
 rozsahu a {\I pointery,} které slou¾í k~odkazování na~data ulo¾ená v~pamìti.
 Pamì» tohoto modelu je slo¾ená z pevného poètu registrù na~èísla a
 na~pointery a z~neomezeného poètu {\I krabièek.} Ka¾dá krabièka má pevný
@@ -48,7 +48,7 @@ Aritmetika v~tomto modelu (a
 pøímoèaøe, ov¹em pole musíme reprezentovat stromem, tak¾e indexování stojí
 $\O(\log n)$.
 
-\s{Random Access Machine (RAM)} je rodinka modelù, které mají spoleèné to, ¾e
+\s{Random Access Machine (RAM)} \cite{demaine} je rodinka modelù, které mají spoleèné to, ¾e
 pracují výhradnì s~(pøirozenými) èísly a ukládají je do~pamìti indexované
 opìt èísly. Instrukce v~programu (podobné assembleru) pracují s~operandy,
 které jsou buï konstanty nebo buòky pamìti adresované pøímo (èíslem buòky),
@@ -100,7 +100,7 @@ jdou prov
 
 \h{Van Emde-Boas Trees}
 
-VEBT jsou RAMová struktura, která si pamatuje mno¾inu prvkù $X$ z nìjakého
+VEBT \cite{boas77} jsou RAMová struktura, která si pamatuje mno¾inu prvkù $X$ z nìjakého
 omezeného universa $X \subseteq \{0,\ldots,U-1\}$, a umí s~ní provádìt
 \uv{stromové operace} (vkládání, mazání, nalezení následníka apod.) v~èase
 $\O(\log\log U)$. Pomocí takové struktury pak napøíklad doká¾eme:
@@ -115,7 +115,7 @@ Dijkstra    &$\O(m\log\log U)$      &$\O(m+n\log\log n)$, neorientovan
 }}$$
 
 \s{Definice:} VEBT($U$) pro universum velikosti $U$ (BÚNO $U=2^{2^k}$)
-obsahuje:
+obsahuje: (ekvivalentní formulace podle \cite{demaine})
 
 \itemize\ibull
 
@@ -220,6 +220,8 @@ mimo seznam~$L$ a zda je $L[R[i]]=i$. T
 jestli je $M[i]$ ji¾ inicializovaná, a~jsme také schopni tuto informaci
 v~tém¾e èase udr¾ovat.
 \qed
+
+\todo{References}
 }
 
 \s{\uv{Minové pole}:} Neinicializované buòky není ani dovoleno èíst.
@@ -393,4 +395,5 @@ jedni
 pøedpokládaly prostrkané nuly a ty tu nemáme. Mù¾eme si je ale snadno poøídit
 a bity, které jsme nulami pøepsali, prostì zpracovat zvlá¹».}
 
+\references
 \bye
index 5242a12b5f3f4bfc096300371804878c2811979f..4c0a6dbc4f19eef427e9a47c0982d8b8c787b964 100644 (file)
@@ -52,7 +52,7 @@ v~konstantn
 
 Pøedchozí struktura má zajímavé vlastnosti, ale èasto je její pou¾ití
 znemo¾nìno omezením na~velikost èísel. Popí¹eme tedy o~nìco slo¾itìj¹í
-konstrukci, která doká¾e toté¾, ale s~a¾ $w$-bitovými èísly.
+konstrukci \cite{fw90trans}, která doká¾e toté¾, ale s~a¾ $w$-bitovými èísly.
 Tato struktura má spí¹e teoretický význam (konstrukce je znaènì komplikovaná
 a skryté konstanty nemalé), ale pøekvapivì mnoho my¹lenek je pou¾itelných
 i v~praxi.
@@ -214,6 +214,5 @@ po
 
 \todo{Aplikace na~kostry.}
 
+\references
 \bye
-
-% LocalWords:  MSB Vlozeni
index b3c49b1195e5ab6bc13f603ed35d8f309e2e3e9d..30545e0c499b1304c8b0536f4fa2e97e9ebec2a8 100644 (file)
@@ -148,7 +148,7 @@ a nakonec podle list
 kde ${\rm Sort}(\ldots)$ je èas potøebný pro setøídìní $n$ symbolù z~abecedy~$\Sigma$. V~kombinaci s~pøedchozími
 výsledky nám tedy dává lineární konstrukci ST($\sigma$) pro libovolnou fixní abecedu.
 
-\s{Algoritmus:} (Konstrukce $A$ a $L$ podle Kärkkäinena a Sanderse)
+\s{Algoritmus:} (Konstrukce $A$ a $L$ podle Kärkkäinena a Sanderse \cite{karkkainen03simple})
 
 \algo
 \:Redukujeme abecedu na~$1\ldots n$: ve~vstupním slovu je nejvý¹e $n$ rùzných znakù,
@@ -201,7 +201,7 @@ $$T(n) = T(2/3\cdot n) + \O(n),~\hbox{a tedy}~T(n)=\O(n).$$
 
 \h{Ukkonenova inkrementální konstrukce}
 
-\>Ukkonenùv algoritmus konstruuje suffixový strom bez dolarù inkrementálnì: zaène se stromem
+\>Ukkonenùv algoritmus \cite{ukkonen95line} konstruuje suffixový strom bez dolarù inkrementálnì: zaène se stromem
 pro prázdné slovo (ten má jediný vrchol, a to koøen) a postupnì pøidává dal¹í znaky na~konec
 slova. To zvládne v~èase $\O(1)$ amortizovanì na~pøidání jednoho znaku.
 Pro slovo~$\sigma$ tedy doká¾e sestrojit ST v~èase $\O(\vert\sigma\vert)$.
@@ -324,4 +324,5 @@ Celkov
 stromu amortizovanì konstantní.
 \qed
 
+\references
 \bye
index 337e0dc1e8e3f6276ebd2738e5ec75e6513c53c5..4db44134d348eb906e71df257e2544576384a5a1 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -1,7 +1,10 @@
 all: $P.ps
 
-%.dvi: %.tex ../sgr.tex
+%.dvi: %.tex ../sgr.tex ../ga.bib
        csplain $<
+       bibtex $*
+       csplain $<
+       csplain $<      # BibTeX requires 3 passes of TeXing!
 
 %.pdf: %.tex ../sgr.tex
        pdfcsplain $<
@@ -22,7 +25,7 @@ all: $P.ps
        pstops '2:0L(212mm,0mm)+1L(212mm,150mm)' <$< | sed 's/^%%BoundingBox: .*/%%BoundingBox: 0 0 595 842/' >$@
 
 mostlyclean:
-       rm -f *.dvi *.log *~ core *.o *-700.tex *-a5.ps
+       rm -f *.dvi *.log *~ core *.o *-700.tex *-a5.ps *.aux *.bbl *.blg
 
 clean:: mostlyclean
        rm -f *.ps *.pdf
index a15e9ec66c4f092463a48b5f2553359450e00c57..16e69e0b56c8321a89d2d64f258ca830d7d2aa3c 100644 (file)
@@ -3,11 +3,13 @@ X=$(shell for a in 1 2 3 4 5 6 7 8 9 10 ; do echo ../$$a-*/$$a-*.tex ; done)
 
 include ../Makerules
 
-ga.tex: $(X) preprocess
+ga.dvi: ga.tex body.tex
+
+body.tex: $(X) preprocess
        ./preprocess $(X) >$@
 
 clean::
-       rm -f ga.tex
+       rm -f body.tex
 
 upload::
        ( cd .. && make clean )
diff --git a/all/ga.tex b/all/ga.tex
new file mode 100644 (file)
index 0000000..4b5e505
--- /dev/null
@@ -0,0 +1,8 @@
+\input ../sgr.tex
+
+\def\chapterend{\bigbreak\bigbreak}
+
+\input body.tex
+
+\references
+\bye
index b459f131e0b96c522135db5877acba97ecf5058d..b93e56281adf28d9eae460cfc6f72545bf6aa33e 100755 (executable)
@@ -3,22 +3,17 @@
 use warnings;
 use strict;
 
-print <<EOF ;
-\\input ../sgr.tex
-EOF
 foreach my $f (@ARGV) {
        my $d = $f;
        $d =~ s@/[^/]*$@/@;
        open X, $f or die;
        while (<X>) {
                /^\\input .*sgr\.tex/ && next;
+               /^\\references/ && next;
                /^\\bye/ && last;
                s@\\(figure|epsfbox){([^}]+)}@\\$1\{$d$2}@g;
                print;
        }
        close X;
-       print "\\bigbreak\\bigbreak\n";
+       print "\\chapterend\n";
 }
-print <<EOF ;
-\\bye
-EOF
diff --git a/ga.bib b/ga.bib
new file mode 100644 (file)
index 0000000..e15b103
--- /dev/null
+++ b/ga.bib
@@ -0,0 +1,299 @@
+@inproceedings{ alstrup98marked,
+    author = "Stephen Alstrup and Thore Husfeldt and Theis Rauhe",
+    title = "Marked Ancestor Problems",
+    booktitle = "{IEEE} Symposium on Foundations of Computer Science",
+    pages = "534--544",
+    year = "1998",
+    url = "citeseer.ist.psu.edu/alstrup98marked.html" }
+
+@inproceedings{ bender00lca,
+    author = "Michael A. Bender and Martin Farach-Colton",
+    title = "The {LCA} Problem Revisited",
+    booktitle = "Latin American Theoretical {INformatics}",
+    pages = "88-94",
+    year = "2000",
+    url = "citeseer.ist.psu.edu/bender00lca.html" }
+
+@inproceedings{ frederickson91ambivalent,
+    author = "Greg N. Frederickson",
+    title = "Ambivalent Data Structures for Dynamic 2-Edge-Connectivity and k Smallest Spanning Trees",
+    booktitle = "{IEEE} Symposium on Foundations of Computer Science",
+    pages = "632-641",
+    year = "1991",
+    url = "citeseer.ist.psu.edu/frederickson91ambivalent.html" }
+
+@article{ tarjan84setunion,
+ author = {Robert E. Tarjan and Jan van Leeuwen},
+ title = {Worst-case Analysis of Set Union Algorithms},
+ journal = {J. ACM},
+ volume = {31},
+ number = {2},
+ year = {1984},
+ issn = {0004-5411},
+ pages = {245--281},
+ doi = {http://doi.acm.org/10.1145/62.2160},
+ publisher = {ACM Press},
+ address = {New York, NY, USA},
+}
+
+@article{ alstrup97optimal,
+    author = "Stephen Alstrup and Jens P. Secher and Maz Spork",
+    title = "Optimal On-Line Decremental Connectivity in Trees",
+    journal = "Information Processing Letters",
+    volume = "64",
+    number = "4",
+    pages = "161-164",
+    year = "1997",
+    url = "citeseer.ist.psu.edu/alstrup97optimal.html" }
+
+@inproceedings{ karkkainen03simple,
+  author = "J. K{\"a}rkk{\"a}inen and P. Sanders",
+  title = "Simple linear work suffix array construction",
+  booktitle = "Proc. 13th International Conference on Automata, Languages and Programming",
+  publisher = "Springer",
+  year = "2003",
+  url = "citeseer.ist.psu.edu/arkk03simple.html" }
+
+@article{ ukkonen95line,
+    author = "Esko Ukkonen",
+    title = "On-Line Construction of Suffix Trees",
+    journal = "Algorithmica",
+    volume = "14",
+    number = "3",
+    pages = "249--260",
+    year = "1995",
+    url = "citeseer.ist.psu.edu/ukkonen95line.html" }
+
+@inproceedings { fw90trans,
+   author = "M. Fredman and D. E. Willard",
+   title = "{Trans-dichotomous algorithms for minimum spanning trees and shortest paths}",
+   booktitle = "{Proceedings of FOCS'90}",
+   pages = "719--725",
+   year = "1990"
+}
+
+@article{boas77,
+  author    = {Peter van Emde Boas},
+  title     = {Preserving Order in a Forest in Less Than Logarithmic Time
+               and Linear Space.},
+  journal   = {Inf. Process. Lett.},
+  volume    = {6},
+  number    = {3},
+  year      = {1977},
+  pages     = {80-82},
+  bibsource = {DBLP, http://dblp.uni-trier.de}
+}
+
+@inproceedings{thorup03ac0,
+ author = {Mikkel Thorup},
+ title = {On AC0 implementations of fusion trees and atomic heaps},
+ booktitle = {SODA '03: Proceedings of the fourteenth annual ACM-SIAM symposium on Discrete algorithms},
+ year = {2003},
+ isbn = {0-89871-538-5},
+ pages = {699--707},
+ location = {Baltimore, Maryland},
+ publisher = {Society for Industrial and Applied Mathematics},
+ address = {Philadelphia, PA, USA},
+ }
+
+@article{ benamram95what,
+    author = "Ben-Amram",
+    title = "What is a ``Pointer Machine''?",
+    journal = "SIGACTN: SIGACT News (ACM Special Interest Group on Automata and Computability Theory)",
+    volume = "26",
+    year = "1995",
+    url = "citeseer.ist.psu.edu/ben-amram95what.html" }
+
+@unpublished { demaine,
+ author = "Erik Demaine",
+ title = "{Advanced Data Structures}",
+ note = "{MIT Lecture Notes}",
+ year = 2005
+}
+
+@article{ matsui:planar,
+    author = "Tomomi Matsui",
+    title = "{The Minimum Spanning tree Problem on a Planar Graph}",
+    journal = "Discrete Applied Mathematics",
+    volume = "58",
+    year = "1995",
+    pages = "91--94",
+    url = "citeseer.nj.nec.com/2319.html"
+}
+
+@article{ chazelle:ackermann,
+    author = "Bernard Chazelle",
+    title = "{A Minimum Spanning Tree Algorithm with Inverse-Ackermann Type Complexity}",
+    journal = jacm,
+    volume = "47",
+    pages = "1028--1047",
+    year = "2000"
+}
+
+@article{ nesetril:history,
+    author = "Jaroslav Ne{\v{s}}et{\v{r}}il",
+    title = "{Some remarks on the history of MST-problem}",
+    journal = "Archivum Mathematicum",
+    volume = "33",
+    pages = "15--22",
+    year = "1997"
+}
+
+@article{ nesetril:boruvka,
+    author = "Jaroslav Ne{\v{s}}et{\v{r}}il and E. Milkov{\'a} and H. Ne{\v{s}}et{\v{r}}ilov{\'a}",
+    title = "{Otakar Bor{\accent23u}vka on Minimum Spanning Tree Problem}",
+    journal = "Discrete Mathematics",
+    volume = "233(1--3)",
+    pages = "3--36",
+    year = "2001"
+}
+
+@unpublished { nesetril:minors,
+    author = "Jaroslav Ne{\v{s}}et{\v{r}}il and Patrice Ossona de Mendez",
+    title = "{Colorings and Homomorphism of Minor Closed Classes}",
+    note = "To appear in {\it Pollack-Goodman Festschrift,} Springer Verlag, 2002."
+}
+
+@article { boruvka:ojistem,
+    author = "Otakar Bor{\accent23u}vka",
+    title = "{O jist\'em probl\'emu minim\'aln\'\i{}m (About a Certain Minimal Problem)}",
+    journal = "Pr\'ace mor. p\v{r}\'\i{}rodov\v{e}d. spol. v~Brn\v{e}",
+    volume = "III",
+    year = "1926",
+    pages = "37--58",
+    note = "Czech with German summary"
+}
+
+@book { tarjan:dsna,
+    author = "Robert E. Tarjan",
+    title = "{Data structures and network algorithms}",
+    series = "{CMBS-NSF Regional Conf. Series in Appl. Math.}",
+    volume = 44,
+    year = "1983",
+    publisher = "SIAM"
+}
+
+@article { gh:history,
+    author = "R. L. Graham and P. Hell",
+    title = "{On the history of the minimum spanning tree problem}",
+    journal = "{Annals of the History of Computing}",
+    volume = "7",
+    year = "1985",
+    pages = "43--57"
+}
+
+@techreport { pettie:ackermann,
+    author = "Seth Pettie",
+    title = "{Finding minimum spanning trees in $O(m\alpha(m,n))$ time}",
+    institution = "Univ. of Texas at Austin",
+    year = "1999",
+    number = "TR99-23",
+    type = "Tech Report"
+}
+
+@inproceedings { pettie:optimal,
+   author = "Seth Pettie and Vijaya Ramachandran",
+   title = "{An Optimal Minimum Spanning Tree Algorithm}",
+   booktitle = "{Proceedings of ICALP'2000}",
+   year = "2000",
+   publisher = "Springer Verlag",
+   pages = "49--60"
+}
+
+@article { karger:randomized,
+   author = "D. R. Karger and P. N. Klein and R. E. Tarjan",
+   title = "{Linear expected-time algorithms for connectivity problems}",
+   journal = jacm,
+   volume = "42",
+   pages = "321--328",
+   year = "1995"
+}
+
+@article { frederickson:online,
+   author = "Greg N. Frederickson",
+   title = "{Data structures for on-line updating of minimum spanning trees}",
+   journal = "{SIAM Journal on Computing}",
+   volume = "14",
+   pages = "781--798",
+   year = "1985"
+}
+
+@article { mm:mst,
+   author = "Martin Mare\v{s}",
+   title = "{Two linear time algorithms for MST on minor closed graph classes}",
+   journal = "{Archivum Mathematicum}",
+   volume = "40",
+   pages = "315--320",
+   year = "2004"
+}
+
+@article{ ft:fibonacci,
+ author = {Michael L. Fredman and Robert Endre Tarjan},
+ title = {Fibonacci heaps and their uses in improved network optimization algorithms},
+ journal = {J. ACM},
+ volume = {34},
+ number = {3},
+ year = {1987},
+ issn = {0004-5411},
+ pages = {596--615},
+ doi = {http://doi.acm.org/10.1145/28869.28874},
+ publisher = {ACM Press},
+ address = {New York, NY, USA},
+ }
+
+@article{ komlos:verify,
+  author    = {J{\'a}nos Koml{\'o}s},
+  title     = {Linear verification for spanning trees.},
+  journal   = {Combinatorica},
+  volume    = {5},
+  number    = {1},
+  year      = {1985},
+  pages     = {57--65},
+  bibsource = {DBLP, http://dblp.uni-trier.de}
+}
+
+@inproceedings{ king:verify,
+    author = "Valerie King",
+    title = "A Simpler Minimum Spanning Tree Verification Algorithm",
+    booktitle = "Workshop on Algorithms and Data Structures",
+    pages = "440--448",
+    year = "1995",
+    url = "citeseer.ist.psu.edu/king95simpler.html" }
+
+@article{ gomoryhu,
+   author = "R. E. Gomory and T. C. Hu",
+   title = "Multi-Terminal Network Flows",
+   journal = "{Journal of SIAM}",
+   volume = {9},
+   number = {4},
+   year = {1961},
+   pages = {551--570}
+}
+
+@article{ nagaiba:conn,
+ author = {Hiroshi Nagamochi and Toshihide Ibaraki},
+ title = {Computing edge-connectivity in multigraphs and capacitated graphs},
+ journal = {SIAM J. Discret. Math.},
+ volume = {5},
+ number = {1},
+ year = {1992},
+ issn = {0895-4801},
+ pages = {54--66},
+ doi = {http://dx.doi.org/10.1137/0405004},
+ publisher = {Society for Industrial and Applied Mathematics},
+ address = {Philadelphia, PA, USA},
+ }
+
+@article{ alon:matching,
+ author = {Noga Alon},
+ title = {A simple algorithm for edge-coloring bipartite multigraphs},
+ journal = {Inf. Process. Lett.},
+ volume = {85},
+ number = {6},
+ year = {2003},
+ issn = {0020-0190},
+ pages = {301--302},
+ doi = {http://dx.doi.org/10.1016/S0020-0190(02)00446-5},
+ publisher = {Elsevier North-Holland, Inc.},
+ address = {Amsterdam, The Netherlands, The Netherlands},
+ }
diff --git a/sgr.tex b/sgr.tex
index fa4de4a9878aeeac69930d3113dc845c34287db9..03a4f4eaf17b706ea5637310ccc3e0e116b66a39 100644 (file)
--- a/sgr.tex
+++ b/sgr.tex
@@ -1,7 +1,8 @@
-% Makra pro sazbu poznamek ze Seminare z grafovych algoritmu
+% Makra pro sazbu skripticek o grafovych algoritmech
 
 \input mjmac.tex
 \input epsf.tex
+\input btxmac.tex
 
 \language=\czech
 \chyph
 \def\figure#1#2#3{\bigskip\vbox{\centerline{\epsfxsize=#3\epsfbox{#1}}\smallskip\centerline{#2}}\bigskip}
 
 % Todo
-\def\todo#1{\leftline{\bf TODO: \it #1}}
+\def\todo#1{{\bf TODO: \it #1}}
 
 % Blackboard bold font
 \newfam\bbfam
 \font\bbten=bbold10
 \textfont\bbfam=\bbten
 \def\bb{\bbten\fam\bbfam}
+
+% Reference na konci kapitoly
+\bibliographystyle{abbrv}
+\def\references{
+\h{Literatura}
+\def\bblhook{\parskip=2pt plus 1pt minus 0.5pt}
+\bibliography{../ga}
+}