paper

Biconnectivity, -numbering and other applications of DFS using bits

arXiv:1606.08645

Abstract

We consider space efficient implementations of some classical applications of DFS including the problem of testing biconnectivity and -edge connectivity, finding cut vertices and cut edges, computing chain decomposition and -numbering of a given undirected graph on vertices and edges. Classical algorithms for them typically use DFS and some bits\footnote{We use to denote logarithm to the base .} of information at each vertex. Building on a recent -bits implementation of DFS due to Elmasry et al. (STACS 2015) we provide -bit implementations for all these applications of DFS. Our algorithms take time for some small constant (where ). Central to our implementation is a succinct representation of the DFS tree and a space efficient partitioning of the DFS tree into connected subtrees, which maybe of independent interest for designing other space efficient graph algorithms.

18 pages, 4 figures, Preliminary version of this article appeared in the proceedings of 27th ISAAC 2016, Journal version is accepted to JCSS and will soon appear