Although (in my totally unbiased opinion) Combinatorica is more comprehensive and better integrated than other libraries of combinatorial algorithms, it is not the fastest such system available. Credit for all of these properties is largely due to Mathematica, which provides a very high-level, functional, interpreted, and thus inefficient programming language. Combinatorica is best for finding quick solutions to small problems, and (if you can read Mathematica code) as a terse exposition of algorithms for translation into other languages.
The latest version of Combinatorica was codeveloped by Sriram Pemmaraju and Steven Skiena, and is best described in our book Computational Discrete Mathematics: Combinatorics and Graph Theory with Mathematica, Cambridge University Press, 2003.
Combinatorica is included with the standard Mathematica distribution in the directory Packages/DiscreteMath/Combinatorica.m . The latest version can also be obtained the official website www.combinatorica.com, along with many Combinatorica-related resources.
Computational Discrete Mathematics: Combinatorics and Graph Theory with Mathematica by S. Pemmaraju and S. Skiena |
Generating Graphs (8) |
Generating Partitions (7) |
Generating Permutations (7) |
Generating Subsets (7) |
Drawing Graphs Nicely (6) |
Drawing Trees (6) |
Graph Data Structures (6) |
Determinants and Permanents (4) |
Edge Coloring (4) |
Edge and Vertex Connectivity (4) |
Transitive Closure and Reduction (4) |
Vertex Cover (4) |
Connected Components (3) |
Eulerian Cycle / Chinese Postman (3) |
Graph Isomorphism (3) |
Hamiltonian Cycle (3) |
Matching (3) |
Minimum Spanning Tree (3) |
Network Flow (3) |
Shortest Path (3) |
Topological Sorting (3) |
Traveling Salesman Problem (3) |
Vertex Coloring (3) |
Longest Common Substring (2) |
Planarity Detection and Embedding (2) |
Sorting (2) |
Clique (1) |