From: Martin Mares Date: Tue, 29 Jan 2008 14:29:39 +0000 (+0100) Subject: Minor stuff. X-Git-Tag: printed~268 X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=43c49025f1bff523cc3ee0f1a87cfbcb4c99b51d;p=saga.git Minor stuff. --- diff --git a/biblio.bib b/biblio.bib index e987e8c..f8eb292 100644 --- a/biblio.bib +++ b/biblio.bib @@ -466,3 +466,41 @@ inproceedings{ pettie:minirand, year = "2003", url = "citeseer.ist.psu.edu/katriel03practical.html" } + +@article{ alstrup:nca, + title={{Nearest common ancestors: a survey and a new distributed algorithm}}, + author={Alstrup, S. and Gavoille, C. and Kaplan, H. and Rauhe, T.}, + journal={Proceedings of the fourteenth annual ACM symposium on Parallel algorithms and architectures}, + pages={258--264}, + year={2002}, + publisher={ACM Press New York, NY, USA} +} + +@article{ gabow:mst, + title={{Efficient algorithms for finding minimum spanning trees in undirected and directed graphs}}, + author={Gabow, H.N. and Galil, Z. and Spencer, T. and Tarjan, R.E.}, + journal={Combinatorica}, + volume={6}, + number={2}, + pages={109--122}, + year={1986}, + publisher={Springer} +} + +@Unpublished{ eisner:tutorial, + author = {Jason Eisner}, + title = {State-of-the-Art Algorithms for Minimum Spanning + Trees: A Tutorial Discussion}, + note = {Manuscript available online (78 pages), University of Pennsylvania}, + year = 1997, + url = {http://cs.jhu.edu/~jason/papers/#ms97}, +} + +@article{ aho:lca, + title={{On finding lowest common ancestors in trees.}}, + author={Aho, A. V. and Hopcroft, J. E. and Ullman, J. D.}, + journal={SIAM Journal on Computing}, + volume={5}, + pages={115--132}, + year={1976} +} diff --git a/macros.tex b/macros.tex index 7877871..2fe07dd 100644 --- a/macros.tex +++ b/macros.tex @@ -40,6 +40,7 @@ \def\mst{\mathop{\rm mst}} \def\deg{\mathop{\rm deg}} \def\timesalpha{\mskip2mu\alpha} +\def\timesbeta{\mskip2mu\beta} \def\tower{\mathop\uparrow} % Footnotes diff --git a/mst.tex b/mst.tex index eff6a01..6e2b17c 100644 --- a/mst.tex +++ b/mst.tex @@ -42,7 +42,7 @@ disciplines, the previous work was not well known and the algorithms had to be rediscovered several times. Recently, several significantly faster algorithms were discovered, most notably the -$\O(m\beta(m,n))$-time algorithm by Fredman and Tarjan \cite{ft:fibonacci} and +$\O(m\timesbeta(m,n))$-time algorithm by Fredman and Tarjan \cite{ft:fibonacci} and algorithms with inverse-Ackermann type complexity by Chazelle \cite{chazelle:ackermann} and Pettie \cite{pettie:ackermann}. @@ -258,7 +258,7 @@ $w(e)w(e_2)>\ldots>w(e_k)>w(e_1)$, which is a contradiction. (Note that distinctness of edge weights was crucial here.) @@ -1050,7 +1050,7 @@ how the algorithm could have stopped growing the tree~$R_i^j$: \thm\id{itjarthm}% The Iterated Jarn\'\i{}k's algorithm finds the MST of the input graph in time -$\O(m\mathop\beta(m,n))$, where $\beta(m,n):=\min\{ i: \log^{(i)}n < m/n \}$. +$\O(m\timesbeta(m,n))$, where $\beta(m,n):=\min\{ i: \log^{(i)}n < m/n \}$. \proof Phases are finite and in every phase at least one edge is contracted, so the outer @@ -1087,13 +1087,27 @@ at least~$\log^{(k)} n$ for some $k\in{\bb N}^+$, it runs in time~$\O(km)$. If $m/n \ge \log^{(k)} n$, then $\beta(m,n)\le k$. \qed +\rem +Gabow et al.~\cite{gabow:mst} have shown how to speed this algorithm up to~$\O(m\log\beta(m,n))$. +They split the adjacency lists of the vertices to small buckets, keep each bucket +sorted and consider only the lightest edge in each bucket until it is removed. +The mechanics of the algorithm is complex and there is a~lot of technical details +which need careful handling, so we omit the description of this algorithm. + +\FIXME{Reference to Chazelle.} + \FIXME{Reference to Q-Heaps.} %-------------------------------------------------------------------------------- \section{Verification of minimality} -\FIXME{\cite{pettie:onlineverify} online lower bound} + +\section{What we ought to cite} + +Eisner's tutorial \cite{eisner:tutorial} + +\cite{pettie:onlineverify} online lower bound % use \para % G has to be connected, so m=O(n) @@ -1106,5 +1120,5 @@ If $m/n \ge \log^{(k)} n$, then $\beta(m,n)\le k$. % mention disconnected graphs % unify use of n(G) vs. n % Euclidean MST - +% Some algorithms (most notably Fredman-Tarjan) do not need flattening \endpart