Fully Dynamic Depth-First Search in Directed Graphs

Depth-first search (DFS) is a fundamental and important algorithm in graph analysis. It is the basis of many graph algorithms such as computing strongly connected components, testing planarity, and detecting biconnected components. The result of a DFS is normally shown as a DFS-Tree. Given the frequent updates in many real-world graphs (e.g., social networks and communication networks), we study the problem of DFS-Tree maintenance in dynamic directed graphs. In the literature, most works focus on the DFS-Tree maintenance problem in undirected graphs and directed acyclic graphs. However, their methods cannot easily be applied in the case of general directed graphs. Motivated by this, we propose a framework and corresponding algorithms for both edge insertion and deletion in general directed graphs. We further give several optimizations to speed up the algorithms. We conduct extensive experiments on 12 real-world datasets to show the efficiency of our proposed algorithms. PVLDB Reference Format: Bohua Yang, Dong Wen, Lu Qin, Ying Zhang, Xubo Wang and Xuemin Lin. Fully Dynamic Depth-First Search in Directed Graphs. PVLDB, 13(2): 142-154, 2019. DOI: https://doi.org/10.14778/3364324.3364329

[1]  Surender Baswana,et al.  On Dynamic DFS Tree in Directed Graphs , 2015, MFCS.

[2]  Qing Zhu,et al.  Reachability Querying: Can It Be Even Faster? , 2017, IEEE Transactions on Knowledge and Data Engineering.

[3]  M. Sharir,et al.  A strong-connectivity algorithm and its applications in data flow analysis. , 2018 .

[4]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[5]  Ruosong Wang,et al.  An Improved Algorithm for Incremental DFS Tree in Undirected Graphs , 2016, SWAT.

[6]  J. Hopcroft,et al.  Algorithm 447: efficient algorithms for graph manipulation , 1973, CACM.

[7]  Kunihiko Sadakane,et al.  A Space-Efficient Algorithm for the Dynamic DFS Problem in Undirected Graphs , 2017, WALCOM.

[8]  Surender Baswana,et al.  Dynamic DFS in Undirected Graphs: breaking the O(m) barrier , 2015, SODA.

[9]  Robert E. Tarjan,et al.  Edge-disjoint spanning trees and depth-first search , 1976, Acta Informatica.

[10]  Ulrich Meyer,et al.  Heuristics for semi-external depth first search on directed graphs , 2002, SPAA '02.

[11]  Mohammed J. Zaki,et al.  GRAIL , 2010, Proc. VLDB Endow..

[12]  Peter Bro Miltersen,et al.  Complexity Models for Incremental Computation , 1994, Theor. Comput. Sci..

[13]  Giorgio Gambosi,et al.  The Incremental Maintenance of a Depth-First-Search Tree in Directed Acyclic Graphs , 1997, Inf. Process. Lett..

[14]  Xin-She Yang,et al.  Introduction to Algorithms , 2021, Nature-Inspired Optimization Algorithms.

[15]  Robert E. Tarjan,et al.  A Note on Finding the Bridges of a Graph , 1974, Inf. Process. Lett..

[16]  John H. Reif A Topological Approach to Dynamic Graph Connectivity , 1987, Inf. Process. Lett..

[17]  Ruosong Wang,et al.  Improved Algorithms for Maintaining DFS Tree in Undirected Graphs , 2016, ArXiv.

[18]  John H. Reif,et al.  Depth-First Search is Inherently Sequential , 1985, Inf. Process. Lett..

[19]  Surender Baswana,et al.  Incremental DFS algorithms: a theoretical and experimental study , 2018, SODA.

[20]  Robert E. Tarjan,et al.  Efficient Planarity Testing , 1974, JACM.

[21]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[22]  Surender Baswana,et al.  Fault Tolerant and Fully Dynamic DFS in Undirected Graphs: Simple Yet Efficient , 2018, MFCS.