Improved Data Structures for Fully Dynamic Biconnectivity
We present fully dynamic algorithms for maintaining the biconnected components in general and plane graphs. A fully dynamic algorithm maintains a graph during a sequence of insertions and and deletions of edges or isolated vertices. Let $m$ be the number of edges and $n$ be the number of vertices in a graph. The time per operation of the best known algorithms are $O(\sqrt{n})$ in general graphs and $O(\log n)$ in plane graphs for fully dynamic connectivity and $O(\min{m^{2/3}, n})$ in general graphs and $O(\sqrt{n})$ in plane graphs for fully dynamic biconnectivity. We improve the later running times to $(\min{\sqrt{m}\log n, n })$ in general graphs and $O(\log^{2}n)$ in plane graphs. Our algorithm for general graphs can also find the biconnected components of all vertices in time $O(n)$. The update times in general graphs are amortized. This shows that the biconnected components of a graph can be dynamically maintained almost as efficiently as the connected components.