Abstract

Depth-first search (DFS) is a well-known graph traversal algorithm and can be performed in O ( n + m ) time for a graph with n vertices and m edges. We consider the dynamic DFS problem, that is, to maintain a DFS tree of an undirected graph G under the condition that edges and vertices are gradually inserted into or deleted from G. We present an algorithm for this problem, which takes worst-case O ( m n · polylog ( n ) ) time per update and requires only ( 3 m + o ( m ) ) log n bits of space. This algorithm reduces the space usage of dynamic DFS algorithm to only 1.5 times as much space as that of the adjacency list of the graph. We also show applications of our dynamic DFS algorithm to dynamic connectivity, biconnectivity, and 2-edge-connectivity problems under vertex insertions and deletions.

Highlights

  • Depth-first search (DFS) is a fundamental algorithm for searching graphs

  • For a graph with n vertices and m edges, DFS can be performed in O(n + m) time, and a DFS tree can be constructed in the same time

  • All the works described focus on the general DFS tree problem, not the ordered

Read more

Summary

Introduction

Depth-first search (DFS) is a fundamental algorithm for searching graphs. As a result of performing. DFS, a rooted tree (or forest, for disconnected graphs) which spans all vertices is constructed. For a graph with n vertices and m edges, DFS can be performed in O(n + m) time, and a DFS tree (forest) can be constructed in the same time. The problem of computing a DFS tree can be classified into two settings. G, a DFS tree is generally not unique even if a root vertex is fixed. The ordered DFS tree problem is to compute the order in which the vertices are visited in this setting. Algorithms 2019, 12, 52 deletion updates, it is called fully dynamic. Dynamic graph algorithms focus on only edge insertions and deletions. For the fully dynamic setting we consider the vertex insertions and deletions

Existing Results
Our Results
Applications
Preliminaries
Fault Tolerant DFS Algorithm
Dynamic DFS Algorithm
Query Reduction to Orthogonal Range Search Problem
Original Reduction
Efficient Reduction
Linear Space Dynamic DFS
Range Next Value Query
Halving Required Space
Range Leftmost Value Query
More Space-Efficient Dynamic DFS
Fault Tolerant DFS
Amortized Update Time Dynamic DFS
Worst-Case Update Time Dynamic DFS
Dynamic Connectivity
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call