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

  • Markus Eiglsperger
  • Martin Siebenhaller
  • Michael Kaufmann
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3383)

Abstract

Sugiyama’s algorithmic framework for layered graph drawing is commonly used in practical software. The extensive use of dummy vertices to break long edges between non-adjacent layers often leads to unsatisfactorial 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 and hence 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.

References

  1. 1.
    Auber, D.: Tulip – A Huge Graph Visualization Framework. In: Jünger, M. (ed.) Graph Drawing Software, pp. 105–126. Springer, Heidelberg (2003)Google Scholar
  2. 2.
    Barth, W., Jünger, M., Mutzel, P.: Simple and Efficient Bilayer Cross Counting. In: Goodrich, M.T., Kobourov, S.G. (eds.) GD 2002. LNCS, vol. 2528, pp. 130–141. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  3. 3.
    Bastert, O., Matuszewski, C.: Layered drawings of digraphs. In: Kaufmann, M., Wagner, D. (eds.) Drawing Graphs. LNCS, vol. 2025, pp. 104–139. Springer, Heidelberg (2001)Google Scholar
  4. 4.
    Brandes, U., Köpf, B.: Fast and Simple Horizontal Coordinate Assignment. In: Mutzel, P., Jünger, M., Leipert, S. (eds.) GD 2001. LNCS, vol. 2265, pp. 31–44. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  5. 5.
    Coffman, E., Graham, R.: Optimal scheduling for two processor systems. Acta Informatica 1, 200–213 (1972)CrossRefMathSciNetGoogle Scholar
  6. 6.
    Di Battista, G., Eades, P., Tamassia, R., Tollis, I.G.: Graph Drawing: Algorithms for the Visualization of Graphs. Prentice Hall, Englewood Cliffs (1999)MATHGoogle Scholar
  7. 7.
    Eades, P., Kelly, D.: Heuristics for Reducing Crossings in 2-Layered Networks. Ars Combin. 21.A, 89–98 (1986)MathSciNetGoogle Scholar
  8. 8.
    Eades, P., Wormald, N.: Edge crossings in drawings of bipartite graphs. Algorithmica 11(4), 379–403 (1994)MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Frick, A.: Upper bounds on the number of hidden nodes in Sugiyama’s algorithm. In: North, S.C. (ed.) GD 1996. LNCS, vol. 1190, pp. 169–183. Springer, Heidelberg (1997)Google Scholar
  10. 10.
    Gansner, E., Koutsofios, E., North, S., Vo, K.: A technique for drawing directed graphs. IEEE Transactions on Software Engineering 19(3), 214–229 (1993)CrossRefGoogle Scholar
  11. 11.
    Graphviz – open source graph drawing software, http://www.research.att.com/sw/tools/graphviz/
  12. 12.
    Karp, R.M.: Reducibility among Combinatorial Problems. In: Miller, R.E., Thatcher, J.W. (eds.) Complexity of Computer Computations, pp. 85–103. Plenum Press, New York (1972)Google Scholar
  13. 13.
    Matuszewski, C., Schönfeld, R., Molitor, P.: Using sifting of k-layer straightline crossing minimization. In: Kratochvíl, J. (ed.) GD 1999. LNCS, vol. 1731, pp. 217–224. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  14. 14.
    Nikolov, N., Healy, P.: How to layer a directed acyclic graph. In: Mutzel, P., Jünger, M., Leipert, S. (eds.) GD 2001. LNCS, vol. 2265, pp. 16–30. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  15. 15.
    Sander, G.: Graph layout through the VCG tool. In: Tamassia, R., Tollis, I.G. (eds.) GD 1994. LNCS, vol. 894, pp. 194–205. Springer, Heidelberg (1995)Google Scholar
  16. 16.
    Sleator, D., Tarjan, R.E.: Self-Adjusting Binary Search Trees. Journal of the ACM 3, 652–686 (1985)CrossRefMathSciNetGoogle Scholar
  17. 17.
    Sugiyama, K., Tagawa, S., Toda, M.: Methods for visual understanding of hierarchical system structures. IEEE Transactions on Systems, Man and Cybernetics, SMC 11(2), 109–125 (1981)CrossRefMathSciNetGoogle Scholar
  18. 18.
    VCG – Visualization of Compiler Graphs, http://rw4.cs.uni-sb.de/users/sander/html/gsvcg1.html
  19. 19.
    Waddle, V., Malhotra, A.: An ElogE line crossing algorithm for levelled graphs. In: Kratochvíl, J. (ed.) GD 1999. LNCS, vol. 1731, pp. 59–70. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  20. 20.
    yFiles – a Java Graph Layout and Visualization Library, http://www.yworks.com

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Markus Eiglsperger
    • 1
  • Martin Siebenhaller
    • 2
  • Michael Kaufmann
    • 2
  1. 1.Fakultät für InformationswissenschaftenUniversität KonstanzKonstanzGermany
  2. 2.WSI für Informatik, Sand 13Universität TübingenTübingenGermany

Personalised recommendations