English

Optimal Decremental Connectivity in Non-Sparse Graphs

Data Structures and Algorithms 2021-11-22 v2

Abstract

We present a dynamic algorithm for maintaining the connected and 2-edge-connected components in an undirected graph subject to edge deletions. The algorithm is Monte-Carlo randomized and processes any sequence of edge deletions in O(m+npolylogn)O(m + n \operatorname{polylog} n) total time. Interspersed with the deletions, it can answer queries to whether any two given vertices currently belong to the same (2-edge-)connected component in constant time. Our result is based on a general Monte-Carlo randomized reduction from decremental cc-edge-connectivity to a variant of fully-dynamic cc-edge-connectivity on a sparse graph. While being Monte-Carlo, our reduction supports a certain final self-check that can be used in Las Vegas algorithms for static problems such as Unique Perfect Matching. For non-sparse graphs with Ω(npolylogn)\Omega(n \operatorname{polylog} n) edges, our connectivity and 22-edge-connectivity algorithms handle all deletions in optimal linear total time, using existing algorithms for the respective fully-dynamic problems. This improves upon an O(mlog(n2/m)+npolylogn)O(m \log (n^2 / m) + n \operatorname{polylog} n)-time algorithm of Thorup [J.Alg. 1999], which runs in linear time only for graphs with Ω(n2)\Omega(n^2) edges. Our constant amortized cost for edge deletions in decremental connectivity in non-sparse graphs should be contrasted with an Ω(logn/loglogn)\Omega(\log n/\log\log n) worst-case time lower bound in the decremental setting [Alstrup, Thore Husfeldt, FOCS'98] as well as an Ω(logn)\Omega(\log n) amortized time lower-bound in the fully-dynamic setting [Patrascu and Demaine STOC'04].

Keywords

Cite

@article{arxiv.2111.09376,
  title  = {Optimal Decremental Connectivity in Non-Sparse Graphs},
  author = {Anders Aaman and Adam Karczmarz and Jakub Łącki and Nikos Parotsidis and Peter M. R. Rasmussen and Mikkel Thorup},
  journal= {arXiv preprint arXiv:2111.09376},
  year   = {2021}
}
R2 v1 2026-06-24T07:42:44.434Z