Permutation Generation Methods
ACM Computing Surveys (CSUR)
Communications of the ACM
Stirling numbers interpolation using permutations with forbidden subsequences
Discrete Mathematics
A CAT algorithm for generating permutations with a fixed number of inversions
Information Processing Letters
Combinatorics of Permutations
Exhaustive generation of combinatorial objects by ECO
Acta Informatica
Discrete Applied Mathematics
Combinatorial Gray codes for classes of pattern avoiding permutations
Theoretical Computer Science
Hi-index | 0.00 |
We present a recursive generating algorithm for unrestricted permutations which is based on both the decomposition of a permutation as a product of transpositions and that as a union of disjoint cycles. It generates permutations at each recursive step and slight modifications of it produce generating algorithms for Bell permutations and involutions. Further refinements yield algorithms for these classes of permutations subject to additional restrictions: a given number of cycles or/and fixed points. We obtain, as particular cases, generating algorithms for permutations counted by the Stirling numbers of the first and second kind, even permutations, fixed-point-free involutions and derangements. All of these algorithms run in constant amortized time.