LEDA算法库系统是一套全面的C++软件库,专注于数据结构和图论算法的设计与实现,为科研人员及工程师提供强大的工具支持。
LEDA是一个商业化的算法函数库,全称是Library of Efficient Data structures and Algorithms(高效数据结构与算法库)。它提供了常用抽象数据类型(ADT)的C++实现,并且推荐下载。
简介:
LEDA为组合计算的数据类型和算法提供了一个庞大的集合。其主要特点包括:
- LEDA以一种非专家也能使用的形式,提供了大多数教科书描述的数据类型和算法。
- 对于上述提到的所有数据类型和算法,LED提供了精确而易读的规范说明。这些规格通常不超过一页,并且是通用抽象形式(隐藏实现细节)。
- 为了能够方便地访问许多高效数据结构的位置信息,在LEDA中我们使用了项目概念将其转换为一种抽象形式。大多数在LEDA手册中的指定都采用了这一概念,这表明该概念适用于描述多种数据类型。
- LEDA包含了每种数据类型的高效实现方法,例如斐波那契堆用于优先级队列、红黑树和动态完美散列用于字典等。
- LEDA包含了一个便于使用的图形数据类型。它提供了标准迭代(如“对于图G中的所有节点v进行操作”或“对v的所有邻居w进行操作”)、允许添加和删除顶点及边,并提供以节点和边为索引的数组与矩阵等功能,使得编写解决图问题的程序形式接近教科书上的典型展示。
- LEDA通过C++类库实现。它可以几乎任何C++编译器(如g++, CC, xlC, cxx, Borland, MSVC++, Watcom)下使用。
LEDA不处于公共领域,但可以免费用于学术研究和教学。同时也有商业许可证可供选择。