A New Approach to Incremental Cycle Detection and Related Problems (1112.0784v1)
Abstract: We consider the problem of detecting a cycle in a directed graph that grows by arc insertions, and the related problems of maintaining a topological order and the strong components of such a graph. For these problems, we give two algorithms, one suited to sparse graphs, and the other to dense graphs. The former takes the minimum of O(m{3/2}) and O(mn{2/3}) time to insert m arcs into an n-vertex graph; the latter takes O(n2 log(n)) time. Our sparse algorithm is considerably simpler than a previous O(m{3/2})-time algorithm; it is also faster on graphs of sufficient density. The time bound of our dense algorithm beats the previously best time bound of O(n{5/2}) for dense graphs. Our algorithms rely for their efficiency on topologically ordered vertex numberings; bounds on the size of the numbers give bound on running times.
- Michael A. Bender (39 papers)
- Jeremy T. Fineman (16 papers)
- Seth Gilbert (38 papers)
- Robert E. Tarjan (29 papers)