2007
DOI: 10.1145/1187436.1210590
|View full text |Cite
|
Sign up to set email alerts
|

A dynamic topological sort algorithm for directed acyclic graphs

Abstract: We consider the problem of maintaining the topological order of a directed acyclic graph (DAG) in the presence of edge insertions and deletions. We present a new algorithm and, although this has inferior time complexity compared with the best previously known result, we find that its simplicity leads to better performance in practice. In addition, we provide an empirical comparison against the three main alternatives over a large number of random DAGs. The results show our algorithm is the best for sparse digr… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
42
0

Year Published

2008
2008
2023
2023

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 55 publications
(42 citation statements)
references
References 28 publications
0
42
0
Order By: Relevance
“…Syntax Interestingly, the self-adjusting DFS program exhibits algorithmic and asymptotic complexity behavior similar to previously proposed algorithms for topological sorting of incrementally changing graphs, for example that by Pearce and Kelly [20]. The main difference compared to their work is, of course, that we obtained our code by simply annotating a standard, non-adjusting version of DFS.…”
Section: Programming With "Mutable Modifiables"mentioning
confidence: 83%
“…Syntax Interestingly, the self-adjusting DFS program exhibits algorithmic and asymptotic complexity behavior similar to previously proposed algorithms for topological sorting of incrementally changing graphs, for example that by Pearce and Kelly [20]. The main difference compared to their work is, of course, that we obtained our code by simply annotating a standard, non-adjusting version of DFS.…”
Section: Programming With "Mutable Modifiables"mentioning
confidence: 83%
“…Many algorithms developed [10] to get topological sequence of a graph. The primary applications or Real word applications are instruction scheduling, ordering of formula cell evaluation when re-computing formula values in spreadsheets, logic synthesis, determining the order of compilation tasks to perform in make files, data serialization, and resolving symbol dependencies in linkers.…”
Section: B Topological Sortmentioning
confidence: 99%
“…Er [6] proposed a new topological sorting algorithm using the parallel computation approach. David [7] presented a new algorithm for the problem of maintaining the topological order of a DAG [8] in the presence of edge insertions and deletions. In [9], Deepak et al [10] presented a simple algorithm, which maintained the topological order of a DAG under an online edge insertion sequence in O(n2.75).For dense DAGs, this was an improvement over the previous best result.…”
Section: Introductionmentioning
confidence: 99%
“…An I/O-efficient algorithm for topologically sorting directed acyclic graphs was proposed in [11] and the algorithm was extremely inefficient and performs O(n• sort(m)) I/Os in the worst case but achieved good performance in practice. David [12] improved the previous algorithm in [7], by only recomputing those region(s) of order affected by the inserted edges to maintain the topological order. 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].…”
Section: Introductionmentioning
confidence: 99%