ePrints@IIScePrints@IISc Home | About | Browse | Latest Additions | Advanced Search | Contact | Help

Incremental Cycle Detection, Topological Ordering, and Strong Component Maintenance

Haeupler, Bernhard and Kavitha, Telikepalli and Mathew, Rogers and Sen, Siddhartha and Tarjan, Robert E (2012) Incremental Cycle Detection, Topological Ordering, and Strong Component Maintenance. In: ACM TRANSACTIONS ON ALGORITHMS, 8 (1).

[img] PDF
acm_trans_alg_8-1_2012.pdf - Published Version
Restricted to Registered users only

Download (913kB) | Request a copy
Official URL: http://dx.doi.org/10.1145/2071379.2071382

Abstract

We present two online algorithms for maintaining a topological order of a directed n-vertex acyclic graph as arcs are added, and detecting a cycle when one is created. Our first algorithm handles m arc additions in O(m(3/2)) time. For sparse graphs (m/n = O(1)), this bound improves the best previous bound by a logarithmic factor, and is tight to within a constant factor among algorithms satisfying a natural locality property. Our second algorithm handles an arbitrary sequence of arc additions in O(n(5/2)) time. For sufficiently dense graphs, this bound improves the best previous bound by a polynomial factor. Our bound may be far from tight: we show that the algorithm can take Omega(n(2)2 root(2lgn)) time by relating its performance to a generalization of the k-levels problem of combinatorial geometry. A completely different algorithm running in Theta (n(2) log n) time was given recently by Bender, Fineman, and Gilbert. We extend both of our algorithms to the maintenance of strong components, without affecting the asymptotic time bounds.

Item Type: Journal Article
Publication: ACM TRANSACTIONS ON ALGORITHMS
Publisher: ACM
Additional Information: Copyright for this article belongs to ACM
Department/Centre: Division of Electrical Sciences > Computer Science & Automation
Date Deposited: 20 Jun 2012 12:03
Last Modified: 20 Jun 2012 12:03
URI: http://eprints.iisc.ac.in/id/eprint/44565

Actions (login required)

View Item View Item