## Abstract

We obtain several new dynamic algorithms for maintaining the transitive closure of a directed graph and several other algorithms for answering reachability queries without explicitly maintaining a transitive closure matrix. Among our algorithms are: (i) A decremental algorithm for maintaining the transitive closure of a directed graph, through an arbitrary sequence of edge deletions, in O(mn) total expected time, essentially the time needed for computing the transitive closure of the initial graph. Such a result was previously known only for acyclic graphs, (ii) Two fully dynamic algorithms for answering reachability queries. The first is deterministic and has an amortized insert/delete time of O(m√n), and worst-case query time of O(m√n). The second is randomized and has an amortized insert/delete time of O(m ^{0.58} n) and worst-case query time of O(m^{0.43}). This significantly improves the query times of algorithms with similar update times. (iii) A fully dynamic algorithm for maintaining the transitive closure of an acyclic graph. The algorithm is deterministic and has a worst-case insert time of O(m), constant amortized delete time of O(1), and a worst-case query time of O(n/log n). Our algorithms are obtained by combining several new ideas, one of which is a simple sampling idea used for detecting decompositions of strongly connected components, with techniques of Even and Shiloach [J. ACM, 28 (1981), pp, 1-4], Italiano [Inform. Process. Lett., 28 (1988). pp. 5-11], Henzinger and King [Proceedings of the 36th Annual Symposium on Foundations of Computer Science, Milwaukee, WI, 1995, pp, 664-672], and Frigioni et al. [ACM J. Exp. Algorithmics, 6 (2001), (electronic)].

Original language | English |
---|---|

Pages (from-to) | 1455-1471 |

Number of pages | 17 |

Journal | SIAM Journal on Computing |

Volume | 37 |

Issue number | 5 |

DOIs | |

State | Published - 2007 |

Externally published | Yes |

## Keywords

- Dynamic algorithms
- Strongly connected components
- Transitive closure