A New Approach to Incremental Cycle Detection and Related Problems
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(n^2 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.
- Publication:
-
arXiv e-prints
- Pub Date:
- December 2011
- DOI:
- 10.48550/arXiv.1112.0784
- arXiv:
- arXiv:1112.0784
- Bibcode:
- 2011arXiv1112.0784B
- Keywords:
-
- Computer Science - Data Structures and Algorithms;
- E.1;
- F.2.0