A calculus for the random generation of labelled combinatorial structures
Theoretical Computer Science
An introduction to the analysis of algorithms
An introduction to the analysis of algorithms
Computer algebra libraries for combinatorial structures
Journal of Symbolic Computation - Special issue on symbolic computation in combinatorics
Random generation of trees and other combinatorial objects
Theoretical Computer Science - Special issue on Caen '97
A generic approach for the unranking of labeled combinatorial classes
Random Structures & Algorithms - Special issue on analysis of algorithms dedicated to Don Knuth on the occasion of his (100)8th birthday
A fast algorithm to generate necklaces with fixed content
Theoretical Computer Science
Feature extraction from noisy speech signals
Feature extraction from noisy speech signals
Labelled formal languages and their uses
Labelled formal languages and their uses
Exhaustive generation of combinatorial objects by ECO
Acta Informatica
Combinatorial Enumeration
Combinatorial Algorithms: Theory and Practice
Combinatorial Algorithms: Theory and Practice
ECO method and the exhaustive generation of convex polyominoes
DMTCS'03 Proceedings of the 4th international conference on Discrete mathematics and theoretical computer science
The Art of Computer Programming: Combinatorial Algorithms, Part 1
The Art of Computer Programming: Combinatorial Algorithms, Part 1
The relevant prefixes of coloured Motzkin walks: An average case analysis
Theoretical Computer Science
Hi-index | 0.00 |
The exhaustive generation of combinatorial objects has a vast range of practical applications and is a common theme in the combinatorial research field. But most previous works in this area concentrate in the efficient generation of particular families of combinatorial objects. The novel approach of the work presented here is to provide efficient generic algorithms, where the input is not just the size n of the objects to be generated but a finite specification of the combinatorial class whose objects we want to list. Since the algorithms are generic, they do not exploit any particular feature of the class to be generated; nevertheless, they work in constant amortized time per generated object, that is, they generate all N objects of a given size in Θ(N) time. These algorithms are useful for both rapid prototyping and for inclusion into general purposes libraries because of their flexibility, with only a relatively modest penalty on efficiency. Furthermore, the framework presented in this paper nicely combines with the framework developed by Flajolet et al. for the enumeration and random generation of combinatorial objects, and with the framework developed by the authors for the unranking of combinatorial objects.