The Algorithm Design Manual
About the Book
Programming Challenges

The Stony Brook Algorithm Repository

Steven Skiena
Stony Brook University
Dept. of Computer Science

1.4.11 Drawing Trees

Problem Input | Problem Output

INPUT                    OUTPUT

Input Description: A tree (ie. graph without any cycles) T.

Problem: A nice drawing of the tree T.

Excerpt from The Algorithm Design Manual: There are as many reasons to want to draw trees as there are types of structures that trees represent. Consider software and debugging tools that illustrate the hierarchical structure of file system directories, or that trace the execution

The primary issue in drawing trees is establishing whether you are drawing free or rooted trees:


  • Graphviz - Graph Visualization Software (C) (rating 10)
  • GraphEd -- Graph Editor and Layout Program (C) (rating 7)
  • Combinatorica (Mathematica) (rating 6)
  • GED- Graph editor for Sun machines (Binary) (rating 5)
  • Genocop -- Optimization via Genetic Algorithms (Binary) (rating 5)

  • Recommended Books

    Handbook of Graph Drawing and Visualization by R. Tamassia Graph Drawing Software by Michael J√ľnger and Petra Mutzel Drawing Graphs: Methods and Models by M. Kaufmann and D. Wagner
    Graph Drawing: Algorithms for the Visualization of Graphs by Giuseppe Di Battista, Peter Eades, Roberto Tamassia, and Ionnis G. Tollis Computational Discrete Mathematics: Combinatorics and Graph Theory with Mathematica by S. Pemmaraju and S. Skiena

    Related Problems

    Drawing Graphs Nicely
    Planarity Detection and Embedding

    This page last modified on 2008-07-10 .