Years and Authors of Summarized Original Work
1962; Trotter
1963; Johnson
1977; Sedgewick
2008; Sekine, Yamanaka, Nakano
Problem Definition
Permutation Enumeration
Let S n be the set of permutations of [n] = { 1, 2, …, n}. We write a permutation as a sequence of elements in [n] such that each element appears exactly once. A permutation enumeration is to list all permutations in S n . For example, there are 24 permutations of [4]: 1234, 1243, 1324, 1342, 1423, 1432, 2134, 2143, 2314, 2341, 2413, 2431, 3124, 3142, 3214, 3241, 3412, 3421, 4123, 4132, 4213, 4231, 4312, 4321. The enumeration of permutations is a basic and long-standing enumeration problem, and it was surveyed by Sedgewick [8].
Note that the above example lists all the permutations of [4], and we have listed them in lexicographic order, which is the most natural way to enumerate them. The purpose of this paper is to introduce representative methods for enumeration problems by showing how these methods are applied to...
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Recommended Reading
Arimura H, Uno T (2007) An efficient polynomial space and polynomial delay algorithm for enumeration of maximal motifs in a sequence. J Comb Optim 13:243–262
Avis D, Fukuda K (1996) Reverse search for enumeration. Discret Appl Math 65(1–3):21–46
Goldberg L (1992) Efficient algorithm for listing unlabeled graphs. J Algorithms 13:128–143
Goldberg L (1993) Polynomial space polynomial delay algorithms for listing families of graphs. In: Proceedings of the 25th annual ACM symposium on theory of computing, San Diego, pp 218–225
Johnson S (1963) Generation of permutations by adjacent transposition. Math Comput 17:282–285
Nakano S, Uno T (2004) Constant time generation of trees with specified diameter. In: Proceedings of the 30th workshop on graph-theoretic concepts in computer science (WG 2004), Bad Honnef. LNCS, vol 3353, pp 33–45
Savage C (1997) A survey of combinatorial gray codes. SIAM Rev 39(4):605–629
Sedgewick R (1977) Permutation generation methods. Comput Surv 9(2):137–164
Sekine K, Yamanaka K, Nakano S (2008) Enumeration of permutations. IEICE Trans Fundam Electron Commun Comput Sci J91-A(5):543–549 (in Japanese)
Steinhaus H (1964) One hundred problems in elementary mathematics. Basic Books, New York
Trotter H (1962) Perm (algorithm 115). Commun ACM 5(8):434–435
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer Science+Business Media New York
About this entry
Cite this entry
Yamanaka, K. (2016). Permutation Enumeration. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, New York, NY. https://doi.org/10.1007/978-1-4939-2864-4_735
Download citation
DOI: https://doi.org/10.1007/978-1-4939-2864-4_735
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4939-2863-7
Online ISBN: 978-1-4939-2864-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering