Permutation enumeration
- 1 February 1976
- journal article
- Published by Association for Computing Machinery (ACM) in Communications of the ACM
- Vol. 19 (2), 68-72
- https://doi.org/10.1145/359997.360002
Abstract
Classical permutation enumeration algorithms encounter special cases requiring additional computation every nth permutation when generating the n! permutations on n marks. Four new algorithms have the attribute that special cases occur every n(n—1) permutations. Two of the algorithms produce the next permutation with a single exchange of two marks. The other two algorithms infrequently exchange more than two marks, but the rules for generating the next permutation are very simple. Performance tests which have counted execution of assignment statements, comparisons, arithmetic operations, and subscripted array references have shown superiority of the new algorithms compared to Boothroyd's implementation of M.B. Well's algorithm and Ehrlich's implementation of the Johnson-Trotter algorithm.Keywords
This publication has 4 references indexed in Scilit:
- Algorithm 466: four combinatorial algorithm [G6]Communications of the ACM, 1973
- Loopless Algorithms for Generating Permutations, Combinations, and Other Combinatorial ConfigurationsJournal of the ACM, 1973
- A computer controlled circulation systemThe Computer Journal, 1971
- Teaching combinatorial tricks to a computerPublished by American Mathematical Society (AMS) ,1960