This textbook thoroughly outlines combinatorial algorithms for generation, enumeration, and search. Topics include backtracking and heuristic search methods applied to various combinatorial structures, such as:
Structures and Algorithms
What are Combinatorial Algorithms?
What are Combinatorial Structures?
What are Combinatorial Problems?
O-Notation
Analysis of Algorithms
Complexity Classes
Data Structures
Algorithm Design Techniques
Generating Elementary Combinatorial Objects
Combinatorial Generation
Subsets
k-Element Subsets
Permutations
More Topics in Combinatorial Generation
Integer Partitions
Set Partitions, Bell and Stirling Numbers
Labeled Trees
Catalan Families
Backtracking Algorithms
Introduction
A General Backtrack Algorithm
Generating All Cliques
Estimating the Size of a Backtrack Tree
Exact Cover
Bounding Functions
Branch-and-Bound
Heuristic Search
Introduction to Heuristic Algorithms
Design Strategies for Heuristic Algorithms
A Steepest-Ascent Algorithm for Uniform Graph Partition
A Hill-Climbing Algorithm for Steiner Triple Systems
Two Heuristic Algorithms for the Knapsack Problem
A Genetic Algorithm for the Traveling Salesman Problem
Groups and Symmetry
Groups
Permutation Groups
Orbits of Subsets
Coset Representatives
Orbits of k-tuples
Generating Objects Having Automorphisms
Computing Isomorphism
Introduction
Invariants
Computing Certificates
Isomorphism of Other Structures
Basis Reduction
Introduction
Theoretical Development
A Reduced Basis Algorithm
Solving Systems of Integer Equations
The Merkle-Hellman Knapsack System
Bibliography
Algorithm Index
Problem Index
Index
"Very clear exposition. I jumped right into [the] heuristic methods chapter and understood it almost instantly..."
- Dean H. Judson, Ph.D., Nevada State Demographer
"…book serves as an introduction to the basic problems and methods…style is clear, transparent…The algorithmic problems are always considered and they are in the center of the discussion…has a fresh approach to combinatorics that is available for readers, students in computer science, electrical engineering without any background in mathematics."
- Péter Hajnal, Acta Science Math