Software library for combinatorial and geometric algorithms
Combinatorial and geometric computing are two of the core areas in computer science where extensive use of sequences, matchings, trees, points and flows is being used. The applications are quite diverse ranging from computer aided manufacturing (CAM) and computer aided design (CAD) to traffic control and resource scheduling. Whereas though in many other areas of applied computing like statistics and linear programming, software libraries exist, until now there was no corresponding library for geometrical and combinatorial computing. The aim of the current project that started of in the fall of 1988 is as its acronym suggests creating a Library of Efficient Data types and Algorithms in order to deal with objects such as trees, shortest paths, etc. The LEDA project library is a versatile and easy to use library that can easily be used by both non-experts and software specialists. It is a platform independent and extendible class library, implemented in C++ that can be used with all almost all C++ compilers. It provides with a sizeable collection of data types and algorithms in a form easily used by non-experts. The library offers iterations such as “for all nodes v of a graph do” allowing graph problem programs to look like typical textbook presentations. The library's platform independency allows it to run on different operating systems like Windows, Unix or Macintosh. Publications about LEDA have appeared in various scientific journals since 1989 and the library was first distributed in 1990. Its industrial use started in 1994 and by now the library's user community has grown to a respectable size. A compiled version of the library with documentations is available under licence from Algorithmic Solutions Software at http://www.mpi-sb.mpg.de/LEDA/gmbh.html