An Efficient Implementation of Sugiyama's Algorithm for Layered Graph Drawing

Sugiyama’s algorithm for layered graph drawing is very popular and commonly used in practical software. The extensive use of dummy vertices to break long edges between non-adjacent layers often leads to unsatisfying performance. The worst-case running-time of Sugiyama’s approach is O(|V ||E| log |E|) requiring O(|V ||E|) memory, which makes it unusable for the visualization of large graphs. By a conceptually simple new technique we are able to keep the number of dummy vertices and edges linear in the size of the graph without increasing the number of crossings. We reduce the worst-case time complexity of Sugiyama’s approach by an order of magnitude to O((|V | + |E|) log |E|) requiring O(|V | + |E|) space. Article Type Communicated by Submitted Revised Regular paper E. R. Gansner and J. Pach November 2004 July 2005 This work has partially been supported by the DFG-grant Ka512/8-2. It has been performed when the first author was with the Universität Tübingen. Eiglsperger et al., Implementing Sugiyama’s Alg., JGAA, 9(3) 305–325 (2005)306

[1]  Peter Eades,et al.  Edge crossings in drawings of bipartite graphs , 1994, Algorithmica.

[2]  Ulrik Brandes,et al.  Fast and Simple Horizontal Coordinate Assignment , 2001, GD.

[3]  David Auber,et al.  Tulip - A Huge Graph Visualization Framework , 2004, Graph Drawing Software.

[4]  Emden R. Gansner,et al.  A Technique for Drawing Directed Graphs , 1993, IEEE Trans. Software Eng..

[5]  Ronald L. Graham,et al.  Optimal scheduling for two-processor systems , 1972, Acta Informatica.

[6]  Georg Sander VCG - visualization of compiler graphs , 1995 .

[7]  Oliver Bastert,et al.  Layered Drawings of Digraphs , 1999, Drawing Graphs.

[8]  Michael Jünger,et al.  Simple and Efficient Bilayer Cross Counting , 2002, J. Graph Algorithms Appl..

[9]  David S. Johnson,et al.  Some simplified NP-complete problems , 1974, STOC '74.

[10]  Vance E. Waddle,et al.  An E log E Line Crossing Algorithm for Levelled Graphs , 1999, Graph Drawing.

[11]  Mitsuhiko Toda,et al.  Methods for Visual Understanding of Hierarchical System Structures , 1981, IEEE Transactions on Systems, Man, and Cybernetics.

[12]  Arne Frick Upper Bounds on the Number of Hidden Nodes in Sugiyama's Algorithm , 1996, Graph Drawing.

[13]  Georg Sander,et al.  Graph Layout for Applications in Compiler Construction , 1999, Theor. Comput. Sci..

[14]  Nikola S. Nikolov,et al.  How to Layer a Directed Acyclic Graph , 2001, GD.

[15]  Robert E. Tarjan,et al.  Self-adjusting binary search trees , 1985, JACM.