# Permutation Generation Methods

@article{Sedgewick1977PermutationGM, title={Permutation Generation Methods}, author={Robert Sedgewick}, journal={ACM Comput. Surv.}, year={1977}, volume={9}, pages={137-164} }

This paper surveys the numerous methods tha t have been proposed for pe rmuta tmn enumera t ion by computer. The various algori thms which have been developed over the years are described in detail, and zmplemented in a modern ALc, oL-hke language. All of the algori thms are derived from one rumple control structure. The problems involved with implement ing the best of the algori thms on real computers are t reated m detail. Assembly-language programs are derived and analyzed fully. The paper…

## Figures and Tables from this paper

## 255 Citations

Permutation Generation on Vector Processors

- Computer Science
- 2008

An efficient algorithm for generating a sequence of all the permutations P(i) on N symbols using parallel processors, all of which perform identical operations, is presented (0 < i < M). Starting…

More on permutation generation methods

- Computer ScienceComputing
- 2005

We study a class of recursive permutation generation methods which construct a sequence of alln! permutations ofn elements by repeatedly generating all permutations of the elements in the firstn−1…

Fast algorithms for genegrating integer partitions

- Computer ScienceInt. J. Comput. Math.
- 1998

These are the first known algorithms to produce partitions in the standard representation and with constant average delay, and are faster than any known algorithm for generating integer partition in the multiplicity representation (exclusive of the output).

QINGXUAN YANGJOHN ELLIS † KHALEGH MAMAKANI †

- Mathematics
- 2013

Every permutation of {1,2,...,N} can be written as the product of two involutions. As a consequence, any permutation of the elements of an array can be performed in-place using simultaneous swaps in…

A Versatile Algorithm to Generate Various Combinatorial Structures

- Computer ScienceArXiv
- 2010

This paper begins by reviewing an algorithm proposed by Rohl that generates all unique permutations of a list of elements which possibly contains repetitions, taking some or all of the elements at a time, in any imposed order and provides a proof of correctness of the algorithm.

Surveyor's Forum: A Forgotten Generation of Permutations

- HistoryCSUR
- 1977

The principle that all N! permutations of N elements can be generated by exchanges of adjacent elements was first discovered, not by Johnson and Trotter in 1962, but by an English bell-ringer in the…

A Cost-Optimal Pipeline Algorithm for Permutation Generation in Lexicographic Order

- Computer ScienceJ. Parallel Distributed Comput.
- 1997

In this paper we solve the open problem of designing a cost-optimal parallel algorithm for generating permutations ofMelements out of the set {0, 1, ?,N? 1}, in lexicographic order. Our algorithm…

Parallel permutation generation on linear array

- Mathematics, Computer ScienceInt. J. Comput. Math.
- 1991

A parallel algorithm for generating all the n! permutations is presented and the basic idea used is the iterative method and the exchange of two consecutive components in an existing permutation.

Factorial Permutation Generation

- Mathematics, Computer Science2019 IEEE International Scientific-Practical Conference Problems of Infocommunications, Science and Technology (PIC S&T)
- 2019

It is shown that the proposed method of permutation searching has increased speed due to the use of arithmetic operations of addition and subtraction of factorial numbers, and also allows to change the direction of permutations searching, which increases its flexibility.

Adaptive and Optimal Parallel Algorithms for Enumerating Permutations and Combinations

- Computer ScienceComput. J.
- 1987

Three new adaptive and cost-optimal parallel algorithms are described for the problems of enumerating permutations and combinations ofm out ofn objects. The algorithms are designed to be executed on…

## References

SHOWING 1-10 OF 98 REFERENCES

Programming Improvements to Fike's Algorithm for Generating Permutations

- Computer ScienceComput. J.
- 1976

Some programming modifications to the procedures Fike presents which improve the performance by a factor of about 2.5 show that with a compiler which handles procedure calls reasonably, a recursive procedure is the most efficient.

Generation of permutations by transposition

- Mathematics
- 1961

Many problems require the generation of all n factoral permutations of n marks (called arrangements). A generation scheme is presented whereby each step consists of merely transposing two of the…

Permutation enumeration: four new permutation algorithms

- Computer ScienceCACM
- 1976

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.

Algorithm 102: Permutation in lexicographical order

- ChemistryCommun. ACM
- 1962

The procedure was originally programmed in FORTRAN for the Control Data 160 desk-size computer and was limited to te t ra t ion because subroutine recursiveness in CONTROL Data 160 FORTRan has been held down to four levels in the interests of economy.

An algorithm for generating permutations

- MathematicsCACM
- 1967

An argorithm is described which under repeated application generates all permutations of K elements, or since each circular ordering yields K permutations the algorithm generates all K! permutations.

Generation of permutations by adjacent transposition

- Mathematics
- 1963

1. RICHARD S. VARGA, Matrix Iterative Analysis, Prentice-Hall, Inc., 1962. 2. E. G. D'YAKONOV, "On a Method of Solving the Poisson Equation," Dokl. Akad. Nauk SSSR 143 (1962), 21-24, the same paper…

Permutations by Interchanges

- MathematicsComput. J.
- 1963

Methods for obtaining all possible permutations of a number of objects, in which each permutation differs from its predecessor only by the interchange of two of the objects, are discussed. Details of…

Certification of algorithm 323 [G6]: generation of permutations in lexicographic order

- MathematicsCACM
- 1969

This procedure finds all trees that span a nondirected graph on n nodes that are partitioned into two classes, and formalizes the effect of partitioning with respect to nodes i and j.

Remarks on algorithm 87, 102, 130, 202: generation of permutations in lexicographical order

- ChemistryCACM
- 1967

ALGORITHM 308 GENERATION OF PERMUTATIONS IN PSEUDOLEXICOGRAPHIC ORDER [G6] R. J. ORD-SMIT:H (Recd. 11 Nov. 1966, 1 Dec. 1966, 28 Dee. 1966 and 27 Mar. 1967) Computing Laboratory, University of…

A simplified loop-free algorithm for generating permutations

- Computer Science
- 1975

A simplification of Ehrlich's loop-free version of Johnson and Trotter's algorithm for generation of all permutations of a set of elements and its validity is proved.