Dynamic Bridge-Finding in $\tilde{O}(\log ^2 n)$ Amortized Time
Abstract
We present a deterministic fully-dynamic data structure for maintaining information about the bridges in a graph. We support updates in amortized time, and can find a bridge in the component of any given vertex, or a bridge separating any two given vertices, in worst case time. Our bounds match the current best for bounds for deterministic fully-dynamic connectivity up to factors. The previous best dynamic bridge finding was an amortized time algorithm by Thorup [STOC2000], which was a bittrick-based improvement on the amortized time algorithm by Holm et al.[STOC98, JACM2001]. Our approach is based on a different and purely combinatorial improvement of the algorithm of Holm et al., which by itself gives a new combinatorial amortized time algorithm. Combining it with Thorup's bittrick, we get down to the claimed amortized time. Essentially the same new trick can be applied to the biconnectivity data structure from [STOC98, JACM2001], improving the amortized update time to . We also offer improvements in space. We describe a general trick which applies to both of our new algorithms, and to the old ones, to get down to linear space, where the previous best use . Finally, we show how to obtain query time, matching the optimal trade-off between update and query time. Our result yields an improved running time for deciding whether a unique perfect matching exists in a static graph.
Cite
@article{arxiv.1707.06311,
title = {Dynamic Bridge-Finding in $\tilde{O}(\log ^2 n)$ Amortized Time},
author = {Jacob Holm and Eva Rotenberg and Mikkel Thorup},
journal= {arXiv preprint arXiv:1707.06311},
year = {2018}
}
Comments
v1 Submitted to SODA'18 v2 Added note about improvement to biconnectivity v3 Small changes. Drop unproven claim about finding first k bridges in O(k) additional time