L E D A is our C++ class library for efficient data types and algorithms. L E D A provides algorithmic in-depth knowledge in the field of graph- and network problems, geometric computations, combinatorial opimization and other. L E D A is implemented following the object-oriented approach. It is available in four different packages: basic, graph, geometry and GUI.
L E D A is used in application areas such as telecommunication, GIS, VLSI design, scheduling, traffic planning, computational biology and computer-aided design.
L E D A 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.
In addition L E D A is available for a multitude of different operating systems and compilers.
L E D A provides efficient generic data structures and algorithms which allow to be parameterized by user or problem specific data.
L E D A 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.
L E D A offers its own memory management (it may be switched off, if necessary) that increases the time and space efficiency of the L E D A data types. In addition L E D A supports all common C++ compiler and operating systems of the Windows, Linux and Unix world.
L E D A 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.
L E D A offers comfortable graph data types realizing an iterator concept as well as a storage and cache efficient implementation for static graphs.
L E D A 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.
Reported results are correct, and integrated check-routines even verify the correctness of the results.
All L E D A classes and algorithms are documented in detail. Documentations are online accessible at Algorithmic Solutions Site: online documentation.
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: L E D A 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: L E D A code is reusable; development time significantly decreases and rapid prototyping is possible.
Efficiency: L E D A provides a wide range of efficient algorithms, many of them being proven to be asymptotically optimal. L E D A 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. L E D A 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 L E D A performs run-time checking.
Extensibility: L E D A is easily extensible by means of parametric polymorphism (please see various L E D A extension packages).
Independency: L E D A 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 L E D A user forum offers L E D A users from all over the world the possibility to dicuss algorithmic and L E D A related problems and features. In this forum you may also receive support from our support team.