pages={502--516},
year={1999}
}
+
+@article{ holm:polylog,
+ title={{Poly-logarithmic deterministic fully-dynamic algorithms for connectivity, minimum spanning tree, 2-edge, and biconnectivity}},
+ author={Holm, J. and de Lichtenberg, K. and Thorup, M.},
+ journal={Journal of the ACM (JACM)},
+ volume={48},
+ number={4},
+ pages={723--760},
+ year={2001},
+ publisher={ACM Press New York, NY, USA}
+}
+
+@article{ frederickson:dynamic,
+ title={{Data structures for on-line updating of minimum spanning trees, with applications}},
+ author={Frederickson, G. N.},
+ journal={SIAM Journal of Computing},
+ volume={14},
+ pages={781--798},
+ year={1985}
+}
+
+@article{ eppstein:sparsify,
+ title={{Sparsification --- a technique for speeding up dynamic graph algorithms}},
+ author={Eppstein, D. and Galil, Z. and Italiano, G.F. and Nissenzweig, A.},
+ journal={Journal of the ACM},
+ volume={44},
+ number={5},
+ pages={669--696},
+ year={1997},
+ publisher={ACM Press New York, NY, USA}
+}
+
+@article{ henzinger:mst,
+ title={{Maintaining minimum spanning trees in dynamic graphs}},
+ author={Henzinger, M.R. and King, V.},
+ journal={Proceedings of the 24th International Colloquium on Automata, Languages and Programming},
+ pages={594--604},
+ year={1997},
+ publisher={Springer}
+}
+
+@mastersthesis { mares:dga,
+ title={{Dynamick\'e grafov\'e algoritmy}},
+ author={Martin Mare\v{s}},
+ school={Charles University in Prague, Faculty of Math and Physics},
+ year={2000}
+}
+
+
data structure cost an~extra $\O(\log^2 n / \log\log n)$, but queries accelerate to $\O(\log
n/\log\log n)$.
+%--------------------------------------------------------------------------------
+
+\section{Dynamic connectivity}
+
+The fully dynamic connectivity problem has a~long and rich history. In the 1980's, Frederickson \cite{frederickson:dynamic}
+has used his topological trees to construct a~dynamic connectivity algorithm of complexity $\O(\sqrt m)$ per update
+$\O(1)$ per query. Eppstein et al.~\cite{eppstein:sparsify} have introduced a~sparsification technique which can bring the
+updates down to $\O(\sqrt n)$. Later, several different algorithms with complexity on the order of $n^\varepsilon$
+were presented by Henzinger and King \cite{henzinger:mst} and also by Mare\v{s} \cite{mares:dga}.
+A~polylogarithmic time bound was first reached by the randomized algorithm of Henzinger and King \cite{henzinger:randdyn}.
+The best result known as of now is the $\O(\log^2 n)$ time deterministic algorithm by Holm,
+de~Lichtenberg and Thorup \cite{holm:polylog}, which will we describe in this section.
+
+The algorithm will maintain a~spanning forest~$F$ of the current graph~$G$, represented by an~ET-tree
+which will be used to answer connectivity queries. The edges of~$G\setminus F$ will be stored as~non-tree
+edges in the ET-tree. Hence, an~insertion of an~edge to~$G$ either adds it to~$F$ or inserts it as non-tree.
+Deletions of non-tree edges are also easy, but when a~tree edge is deleted, we have to search for its
+replacement among the non-tree edges.
+
+To govern the search in an~efficient way, we will associate each edge~$e$ with a~level $\ell(e) \le
+L = \lfloor\log_2 n\rfloor$. For each level~$i$, we will use~$F_i$ to denote the subforest
+of~$F$ containing edges of level at least~$i$. Therefore $F=F_0 \supseteq F_1 \supseteq \ldots \supseteq F_L$.
+We will maintain the following \em{invariants:}
+
+\numlist\ndotted
+\:$F$~is the maximum spanning forest of~$G$ with respect to the levels. In other words,
+ if $uv$ is a~non-tree edge, then $u$ and~$v$ are connected in~$F_{\ell(uw)}$.
+\:For each~$i$, the components of~$F_i$ have at most $\lfloor n/2^i \rfloor$ vertices.
+ This implies that all~$F_i$ for $i>L$ are empty.
+\endlist
+
\endpart