ACM Home Page
Please provide us with feedback. Feedback
A new approach to incremental topological ordering
Full text PdfPdf (345 KB)
Source Symposium on Discrete Algorithms archive
Proceedings of the Nineteenth Annual ACM -SIAM Symposium on Discrete Algorithms table of contents
New York, New York
Pages 1108-1115  
Year of Publication: 2009
Authors
Michael A. Bender  Stony Brook University
Jeremy T. Fineman  CSAIL, MIT
Seth Gilbert  EPFL
Publisher
Society for Industrial and Applied Mathematics  Philadelphia, PA, USA
Bibliometrics
Downloads (6 Weeks): 18,   Downloads (12 Months): 99,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Review this Article  

ABSTRACT

Let G = (V, E) be a directed acyclic graph (dag) with n = |V| and m = |E|. We say that a total ordering ≺ on vertices V is a topological ordering if for every edge (u, v) ∈ E, we have uv. In this paper, we consider the problem of maintaining a topological ordering subject to dynamic changes to the underlying graph. That is, we begin with an empty graph G = (V, ø) consisting of n nodes. The adversary adds m edges to the graph G, one edge at a time. Throughout this process, we maintain an online topological ordering of the graph G.

In this paper, we present a new algorithm that has a total cost of O(n2logn) for maintaining the topological ordering throughout all the edge additions. At the heart of our algorithm is a new approach for maintaining the ordering. Instead of attempting to place the nodes in an ordered list, we assign each node a label that is consistent with the ordering, and yet can be updated efficiently as edges are inserted. When the graph is dense, our algorithm is more efficient than existing algorithms. By way of contrast, the best known prior algorithms achieve only O(min(m1.5, n2.5)) cost.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
D. Ajwani and T. Friedrich. Average-case analysis of online topological ordering. In T. Tokuyama, editor, ISAAC, volume 4835 of Lecture Notes in Computer Science, pages 464--475. Springer, 2007.
 
2
D. Ajwani, T. Friedrich, and U. Meyer. An O(n2.75) algorithm for online topological ordering. In Proceedings of the 10th Scandinavian Workshop on Algorithm Theory, volume 4059 of Lecture Notes in Computer Science, pages 53--64. Springer, 2006.
 
3
 
4
 
5
 
6
7
 
8
 
9
B. Haeupler, S. Sen, and R. E. Tarjan. Incremental topological ordering and strong component maintenance. CoRR, abs/0803.0792, 2008.
 
10
I. Katriel. On algorithms for online topological ordering and sorting. Technical Report MPI-I-2004-1-003, Max-Planck-Institut für Informatik, Saarbrücken, Germany, 2004.
 
11
 
12
T. Kavitha and R. Mathew. Faster algorithms for online topological ordering. CoRR, abs/0711.0251, 2007.
 
13
 
14
 
15
 
16
S. M. Omohundro, C. Lim, and J. Bilmes. The sather language compiler/debugger implementation. Technical report, International Computer Science Institute, Berkeley, March 1992.
 
17
D. Pearce, P. Kelly, and C. Hankin. Online cycle detection and difference propagation for pointer analysis. In Proceedings of the 3rd International Workshop on Source Code Analysis and Manipulation, pages 3--12, Sept. 2003.
 
18
D. J. Pearce and P. H. J. Kelly. A dynamic algorithm for topologically sorting directed acyclic graphs. In Proceedings of the 3rd International Workshop on Efficient Experimental Algorithms, volume 3059 of Lecture Notes in Computer Science, pages 383--398. Springer, 2004.
 
19

Collaborative Colleagues:
Michael A. Bender: colleagues
Jeremy T. Fineman: colleagues
Seth Gilbert: colleagues