HOME » LEDA » About LEDA
- LEDA is our C++ class library for efficient data types and algorithms. LEDA provides algorithmic in-depth knowledge in the field of graph- and network problems, geometric computations, combinatorial opimization and other. LEDA is implemented following the object-oriented approach.
- LEDA is used in application areas such as telecommunication, GIS, VLSI design, scheduling, traffic planning, computational biology and computer -aided design.
- LEDA offers all of the relevant algorithm building blocks in an easy-to-use and efficient form dealing with objects such as graphs, sequences, dictionaries, trees, points, flows, matchings, segments, shortest paths, and many more. Thus it is applicable in all software projects using object-oriented generic programming.
- LEDA is available for a multitude of different operating systems and compilers.
- LEDA is available as full package - professional and research edition - and also as free edition with limited functionality.
- LEDA provides efficient generic data structures and algorithms which allow to be parameterized by user or problem specific data.
- LEDA offers efficient iterator concepts for data structures as well as arbitrarily precise numeric data types.The correctness of the results is always guaranteed. Several algorithms prove their results by short and understandable test routines relying on mathematical theorems.
- Error handling is accomplished by C++ exceptions or via standard error output.
- LEDA offers its own memory management (it may be switched off, if necessary) that increases the time and space efficiency of the LEDA data types. In addition LEDA supports all common C++ compiler and operating systems of the Windows, Linux and Unix world.
- LEDA contains container data types like list, array, map, dictionary, priority queue, stack, queue, set, dynamic tree, etc, and basic data types such as searching and sorting algorithms, as well as numerically exact geometric algorithms, e.g. convex hull, delaunay triangulations, line segment intersection algorithms, boolean operations on polygons, Minkowski sum, and many more. These algorithms also handle all degenerated cases.
- LEDA offers comfortable graph data types realizing an iterator concept as well as a storage and cache efficient implementation for static graphs.
- LEDA offers a wide variety of graph and network algorithms like depth-first search, breadth-first search, shortest paths, minimal spanning trees, matching, weighted matching ,network flow, planarity testing, graph layout and many more. The network algorithms can be parameterized in the number type they use (int, double, integer, rational). In case of numerically inexact number types like int and double, the algorithms automatically detect rounding errors and number overflows. Thus the correctness of the result is always guaranteed.
- LEDA contains specific modules covering cryptography, compression, graph and subgraph isomorphisms, and string alignment.
- Reported results are correct, and integrated check-routines even verify the correctness of the results.
- All LEDA classes and algorithms are documented in detail. Documentations are online accessible, see LEDA resources for more information.
- Customers receive timely and efficient support in case of installation or application problems. In addition Algorithmic Solutions accepts special development orders for individual product extensions and customization.
Merits and Benefits
- Ease of use: LEDA is easy to use, even in the daily development process. It provides an intuitive class interface. Names of classes, functions and algorithms are standardized and well documented, time and space complexity is specified.
- Reusablility: LEDA code is reusable; development time significantly decreases and rapid prototyping is possible.
- Efficiency: LEDA provides a wide range of efficient algorithms, many of them being proven to be asymptotically optimal. LEDA shows excellent results when compared to other libraries. Employment of advanced algorithmic methodologies and efficient implemented standard algorithms and data structures create added value and innovation.
- Reliability: Our implemented algorithms are reliable, they also get along with degenerated inputs and problem instances. By providing different number kernels problems arising from finite precision computations are prevented. LEDA is well-tested during a reliable object-oriented development process as well as by its huge number of users.
- Correctness checking: All algorithmic results are correct. In addition LEDA performs run-time checking.
- Extensibility: LEDA is easily extensible by means of parametric polymorphism (have a look at various LEDA extension packages).
- Independency: LEDA runs on different operating systems like Windows, Unix, Linux, with most C++ compilers available. It is independent from software libraries such as MFC or STL and excels with respect to product continuity and product consistency.
- Support: The LEDA user forum offers LEDA users from all over the world the possibility to dicuss algorithmic and LEDA related problems and features. In this forum you may also receive support from our support team.
Questions concerning LEDA? Please contact us: email@example.com