A '''graph''' is a '''[data structure]''' composed of nodes and edges. ** See Also ** [cgraph]: Implements the [Tcllib graph] API, but with the expectation of improved performance. [Graph theory in Tcl]: [Graph Manipulations]: A [Gsoc] project. [More graph theory]: [Tcllib graph]: A [Tcllib] module for building graph structures of nodes and edges. ** Demos ** [GOBLIN]: A full-featured tool chain for handling graphs. Nearly all algorithms described in textbooks on graph optimization are implemented. Implemented in [C++], with I/O written in Tcl, and Tcl bindings for the library. ** Types of Graphs ** [Binary trees%|%binary tree]: A directed graph in which all nodes have zero, one, or two successors, one node, the root, has no predecessor, and all others have exactly one predecessor. [Tree]: A directed graph in which one node, the root, has no predecessor, and all other nodes have exactly one predecessor. ** Tools ** [Graph editors]: [GraphViz]: Set of graph drawing tools and libraries, supporting hierarchical and mass-spring drawings. Tools include dot, neato, twopi, lefty, dotty, lneato, tcldot, gpr, ccomps, colorize, gc, nop, prune, sccmap, tred, unflatten, grappa. Includes support for Tcl/Tk. ** Toys ** [A graph generator]: A procedure that produces a graph description. [Simple tree layout] by [RS]: