# LEDA

## A Library of Efficient Data Types and Algorithms

LEDA is a library of the data types and algorithms of combinatorial computing. The main features are:

- LEDA provides a sizable collection of data types and algorithms in a form which allows them to be used by non-experts. In the current version, this collection includes most of the data types and algorithms described in the text books of the area.

- LEDA gives a precise and readable specification for each of the data types and algorithms mentioned above. The specifications are short (typically, not more than a page), general (so as to allow several implementations), and abstract (so as to hide all details of the implementation).

- For many efficient data structures access by position is important. In LEDA, we use an item concept to cast positions into an abstract form. We mention that most of the specifications given in the LEDA manual use this concept, i.e., the concept is adequate for the description of many data types.

- LEDA contains efficient implementations for each of the data types, e.g., Fibonacci heaps for priority queues, red-black trees and dynamic perfect hashing for dictionaries, ...

- LEDA contains a comfortable data type graph. It offers the standard iterations such as ``for all nodes v of a graph G do'' or ``for all neighbors w of v do'', it allows to add and delete vertices and edges, it offers arrays and matrices indexed by nodes and edges,... The data type graph allows to write programs for graph problems in a form close to the typical text book presentation.

- LEDA is implemented by a C++ class library. It can be used with almost any C++ compiler (cfront2.1, cfront3.0, g++, borland, zortech).

- LEDA is not in the public domain, but can be used freely for research and teaching. A commercial license is available for 2000 DM.

- LEDA is available by anonymous ftp from

  ftp.mpi-sb.mpg.de

  in

  pub/LEDA

Papers available:

- LEDA - A platform for combinatorial and geometric computing: DVI , PS

- Implementation of geometric algorithms: DVI , PS

- An Implementation of a Convex Hull Algorithm: DVI , PS

- The MinCut Algorithm of Stoer and Wagner: DVI , PS

- The Hopcroft-Tarjan planarity test: DVI , PS

- A plane-sweep algorithm for segment intersection: DVI , PS

Contact: leda@mpi-sb.mpg.de (Christian Uhrig)

Home page of the Max Planck Institute
Person responsible for this page