ON FINDING SPARSE THREE-EDGE-CONNECTED AND THREE-VERTEX-CONNECTED SPANNING SUBGRAPHS
We present algorithms that construct a sparse spanning subgraph of a three-edge-connected graph that preserves three-edge connectivity or of a three-vertex-connected graph that preserves three-vertex connectivity. Our algorithms are conceptually simple and run in O(|E|) time. These simple algorithms can be used to improve the efficiency of the best-known algorithms for three-edge and three-vertex connectivity and their related problems, by preprocessing the input graph so as to trim it down to a sparse graph. Afterwards, the original algorithms run in O(|V|) instead of O(|E|) time. Our algorithms generate an adjacency-lists structure to represent the sparse spanning subgraph, so that when a depth-first search is performed over the subgraph based on this adjacency-lists structure it actually traverses the paths in an ear-decomposition of the subgraph. This is useful because many of the existing algorithms for three-edge- or three-vertex connectivity and their related problems are based on an ear-decomposition of the given graph. Using such an adjacency-lists structure to represent the input graph would greatly improve the run-time efficiency of these algorithms.