2,799 research outputs found
An Improved Algorithm for Incremental DFS Tree in Undirected Graphs
Depth first search (DFS) tree is one of the most well-known data structures
for designing efficient graph algorithms. Given an undirected graph
with vertices and edges, the textbook algorithm takes time to
construct a DFS tree. In this paper, we study the problem of maintaining a DFS
tree when the graph is undergoing incremental updates. Formally, we show: Given
an arbitrary online sequence of edge or vertex insertions, there is an
algorithm that reports a DFS tree in worst case time per operation, and
requires preprocessing time.
Our result improves the previous worst case update time
algorithm by Baswana et al. and the time by Nakamura and
Sadakane, and matches the trivial lower bound when it is required
to explicitly output a DFS tree.
Our result builds on the framework introduced in the breakthrough work by
Baswana et al., together with a novel use of a tree-partition lemma by Duan and
Zhan, and the celebrated fractional cascading technique by Chazelle and Guibas
- …
