|
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
 |
2
|
|
| |
3
|
Lehmer, D.H. Teaching combinatorial tricks to a computer In Combinatorial Analysis: Proceedings of Symposia in Applied Mathematics, Vol. X, R. Bellman and M. Hall Jr,, Eds., Amer. Math. Soc., Providence, R. I., 1960.
|
| |
4
|
Ord-Smith, P.J. Generation of permutation sequences: Part 2. Computer J. 14, 2 (May 1971), 136-139.
|
|