Dynamic DFS Tree in Undirected Graphs: breaking the $O(m)$ barrier
Abstract
Depth first search (DFS) tree is a fundamental data structure for solving various problems in graphs. It is well known that it takes time to build a DFS tree for a given undirected graph on vertices and edges. We address the problem of maintaining a DFS tree when the graph is undergoing {\em updates} (insertion and deletion of vertices or edges). We present the following results for this problem. (a) Fault tolerant DFS tree: There exists a data structure of size such that given any set of failed vertices or edges, a DFS tree of the graph can be reported in time. (b) Fully dynamic DFS tree: There exists a fully dynamic algorithm for maintaining a DFS tree that takes worst case time per update for any arbitrary online sequence of updates. (c) Incremental DFS tree: Given any arbitrary online sequence of edge insertions, we can maintain a DFS tree in worst case time per edge insertion. These are the first worst case time results for maintaining a DFS tree in a dynamic environment. Moreover, our fully dynamic algorithm provides, in a seamless manner, the first deterministic algorithm with query time and worst case update time for the dynamic subgraph connectivity, biconnectivity, and 2-edge connectivity.
Keywords
Cite
@article{arxiv.1502.02481,
title = {Dynamic DFS Tree in Undirected Graphs: breaking the $O(m)$ barrier},
author = {Surender Baswana and Shreejit Ray Chaudhury and Keerti Choudhary and Shahbaz Khan},
journal= {arXiv preprint arXiv:1502.02481},
year = {2018}
}
Comments
27 pages, SODA 2016