Space-Efficient DFS and Applications: Simpler, Leaner, Faster

05/30/2018
by   Torben Hagerup, et al.
0

The problem of space-efficient depth-first search (DFS) is reconsidered. A particularly simple and fast algorithm is presented that, on a directed or undirected input graph G=(V,E) with n vertices and m edges, carries out a DFS in O(n+m) time with n+∑_v∈ V_> 3_2(d_v-1) +O( n)< n+m+O( n) bits of working memory, where d_v is the (total) degree of v, for each v∈ V, and V_> 3={v∈ V| d_v> 3}. A slightly more complicated variant of the algorithm works in the same time with at most n+(4/5)m+O( n) bits. It is also shown that a DFS can be carried out in a graph with n vertices and m edges in O(n+m^* n) time with O(n) bits or in O(n+m) time with either O(n(4+m/n)) bits or, for arbitrary integer k> 1, O(n^(k) n) bits. These results among them subsume or improve most earlier results on space-efficient DFS. Some of the new time and space bounds are shown to extend to applications of DFS such as the computation of cut vertices, bridges, biconnected components and 2-edge-connected components in undirected graphs.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset
Success!
Error Icon An error occurred

Sign in with Google

×

Use your Google Account to sign in to DeepAI

×

Consider DeepAI Pro