2012
DOI: 10.1145/2071379.2071382
|View full text |Cite
|
Sign up to set email alerts
|

Incremental Cycle Detection, Topological Ordering, and Strong Component Maintenance

Abstract: We present two on-line 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 ) tim… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

1
78
0

Year Published

2014
2014
2023
2023

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 63 publications
(79 citation statements)
references
References 44 publications
1
78
0
Order By: Relevance
“…Proposed in [44], the notion was studied for graph algorithms in [17,38,39]. A number of incremental algorithms have been developed for graphs [12,17,26,28,32,[38][39][40][41][42]46] (see [16] for a survey). However, their costs are typically studied in terms of amortized analysis for averaged operation time of a sequence of unit updates to G, not in the size of changes that is inherent to the incremental problem itself.…”
Section: Undoablementioning
confidence: 99%
See 1 more Smart Citation
“…Proposed in [44], the notion was studied for graph algorithms in [17,38,39]. A number of incremental algorithms have been developed for graphs [12,17,26,28,32,[38][39][40][41][42]46] (see [16] for a survey). However, their costs are typically studied in terms of amortized analysis for averaged operation time of a sequence of unit updates to G, not in the size of changes that is inherent to the incremental problem itself.…”
Section: Undoablementioning
confidence: 99%
“…We implemented the following algorithms, all in Java. (1) Incremental algorithms (a) IncKWS (Section 4.2), IncRPQ (Section 5.2), IncSCC (Section 5.3) and IncISO (see Appendix); (b) IncKWSn, IncRPQ n , IncSCCn and IncISOn, which process unit updates in batch ∆G one by one by calling their algorithms for unit updates developed in this work; (c) DynSCC that combines the incremental algorithm in [26] to process insertions and decremental algorithm in [32] Experimental results. We next report our findings.…”
Section: Experimental Evaluationmentioning
confidence: 99%
“…The first for loop (lines 3-7) finds the cycle weight. The second for loop (lines [8][9][10][11][12][13][14][15][16][17][18][19][20] decreases all of the arc weights of C by w C . If the weight of an arc becomes 0, delete this arc (line 11).…”
Section: Algorithm 4 Detect Cycles Of a Weighted Directed Graphmentioning
confidence: 99%
“…After calling Algorithm 3, the arc 3, 4 is deleted. Repeat the above process, cycles (5,6,7,10) and (1,4,5) are detected and removed, and then the graph is cycle-free. In one word, Algorithm 4 can find 3 cycles in Figure 1.…”
Section: An Examplementioning
confidence: 99%
“…Katriel and Bodlaender studied online algorithms to maintain a topological ordering of a directed acyclic graph, it is optimal that the algorithm was implemented to run in O(n log n) time on trees [13]. Haeupler et al [14] proposed the two algorithms for maintaining topological order, detecting the cycle when an arc was added and maintaining the strong component by extending the new algorithms. Liu [15] found a sorting algorithm, which was different from Kahn or DFS algorithm and owned low complexity.…”
Section: Introductionmentioning
confidence: 99%