A generalized topological sorting problem
Motivated by an application in the design of VLSI layouts, we consider a generalization of the usual topological sorting problem on directed, acyclic graphs. The difference is that an instance of the generalized problem may require some nodes in the graph to occupy fixed positions in the topological order. We also allow several nodes to share the same position in the topological order.
We describe an algorithm to decide whether a generalized topological sorting problem has a solution and if so, to find a solution and to test whether the solution is unique. The algorithm runs in O(e + n log log n) time on a directed, acyclic graph with n nodes and e edges and in linear time on the graphs arising in our application.
KeywordsPriority Queue Successful Variant Topological Order Main Path Partial Numbering
Unable to display preview. Download preview PDF.
- Emde Boas, P. van, Kaas, R. and Zijlstra, E.: “Design and Implementation of an Efficient Priority Queue”. Mathematical Systems Theory 10 (1977), 99–127.Google Scholar
- Emde Boas, P. van: “Preserving Order in a Forest in less than Logarithmic Time and Linear Space”. Information Processing Letters 6 (1977), 80–82.Google Scholar
- Lengauer, T., Mehlhorn, K.: “The HILL System: A Design Environment for the Hierarchical Specification, Compaction, and Simulation of Integrated Circuit Layouts”. Proceedings, Conference on Advanced Research in VLSI, MIT, 1984, 139–149.Google Scholar