The Algorithm Design Manual
About the Book
Programming Challenges

The Stony Brook Algorithm Repository

Steven Skiena
Stony Brook University
Dept. of Computer Science

1.1.4 Graph Data Structures

Problem Input | Problem Output

INPUT                    OUTPUT

Input Description: A graph G.

Problem: Give an efficient, flexible data structure to represent G.

Excerpt from The Algorithm Design Manual: While there are several possible variations, the two basic data structures for graphs are adjacency matrices and adjacency lists.


  • LEDA - A Library of Efficient Data Types and Algorithms (C++) (rating 10)
  • Boost: C++ Libraries (C++) (rating 10)
  • JUNG: Java graph data structure (Java) (rating 9)
  • JGraph: Java Graph Visualization and Layout (Java) (rating 8)
  • JDSL: Java Data Structures Libary (Java) (rating 8)
  • OpenCCL: Cache-Coherent Layouts of Meshes and Graphs (C++) (rating 7)

  • Recommended Books

    Computational Discrete Mathematics: Combinatorics and Graph Theory with Mathematica by S. Pemmaraju and S. Skiena Combinatorial Algorithms for Integrated Circuit Layout by T. Lengauer Handbook of Theoretical Computer Science : Algorithms and Complexity by J. Van Leeuwen
    Introduction to Algorithms by T. Cormen and C. Leiserson and R. Rivest and C. Stein Data Structures and Network Algorithms by R. Tarjan Data Structures and Algorithms by A. Aho and J. Hopcroft and J. Ullman

    Related Problems

    Graph Partition
    Set Data Structures

    This page last modified on 2008-07-10 .