We give the first almost-linear time algorithm for computing the \emph{maximal $k$-edge-connected subgraphs} of an undirected unweighted graph for any constant $k$. More specifically, given an $n$-vertex $m$-edge graph $G=(V,E)$ and a number $k = \log^{o(1)}n$, we can deterministically compute in $O(m+n^{1+o(1)})$ time the unique vertex partition $\{V_{1},\dots,V_{z}\}$ such that, for every $i$, $V_{i}$ induces a $k$-edge-connected subgraph while every superset $V'_{i}\supset V_{i}$ does not. Previous algorithms with linear time work only when $k\le2$ {[}Tarjan SICOMP'72{]}, otherwise they all require $\Omega(m+n\sqrt{n})$ time even when $k=3$ {[}Chechik~et~al.~SODA'17; Forster~et~al.~SODA'20{]}. Our algorithm also extends to the decremental graph setting; we can deterministically maintain the maximal $k$-edge-connected subgraphs of a graph undergoing edge deletions in $m^{1+o(1)}$ total update time. Our key idea is a reduction to the dynamic algorithm supporting pairwise $k$-edge-connectivity queries {[}Jin and Sun FOCS'20{]}.
翻译:我们给出了首个计算任意常数 $k$ 的无向无权图 \emph{最大 $k$-边连通子图} 的近线性时间算法。具体而言,给定一个 $n$ 顶点 $m$ 条边的图 $G=(V,E)$ 和一个参数 $k = \log^{o(1)}n$,我们可以在 $O(m+n^{1+o(1)})$ 时间内确定性地计算出唯一的顶点划分 $\{V_{1},\dots,V_{z}\}$,使得对每个 $i$,$V_{i}$ 诱导一个 $k$-边连通子图,而任何真超集 $V'_{i}\supset V_{i}$ 则不能。此前仅当 $k\le2$ 时存在线性时间算法 [Tarjan SICOMP'72];否则即使对于 $k=3$ 也需要 $\Omega(m+n\sqrt{n})$ 时间 [Chechik~et~al.~SODA'17; Forster~et~al.~SODA'20]。我们的算法还拓展到递减图场景:可以在 $m^{1+o(1)}$ 总更新时间内确定性地维护经历边删除的图的最大 $k$-边连通子图。我们的关键思想是归约到支持成对 $k$-边连通性查询的动态算法 [Jin and Sun FOCS'20]。