Skip to main content

Faster Generation of Shorthand Universal Cycles for Permutations

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6196))

Abstract

A universal cycle for the k-permutations of 〈n〉 = {1,2,...,n} is a circular string of length (n)k that contains each k-permutation exactly once as a substring. Jackson (Discrete Mathematics, 149 (1996) 123–129) proved their existence for all k ≤ n − 1. Knuth (The Art of Computer Programming, Volume 4, Fascicle 2, Addison-Wesley, 2005) pointed out the importance of the k = n − 1 case, where each (n − 1)-permutation is “shorthand” for exactly one permutation of 〈n〉. Ruskey-Williams (ACM Transactions on Algorithms, in press) answered Knuth’s request for an explicit construction of a shorthand universal cycle for permutations, and gave an algorithm that creates successive symbols in worst-case O(1)-time. This paper provides two new algorithmic constructions that create successive blocks of n symbols in O(1) amortized time within an array of length n. The constructions are based on: (a) an approach known to bell-ringers for over 300 years, and (b) the recent shift Gray code by Williams (SODA, (2009) 987–996). For (a), we show that the majority of changes between successive permutations are full rotations; asymptotically, the proportion of them is (n − 2)/n.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Chung, F., Diaconis, P., Graham, R.: Universal cycles for combinatorial structures. Discrete Mathematics 110, 43–59 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  2. de Bruijn, N.G.: A Combinatorial Problem. Koninkl. Nederl. Acad. Wetensch. Proc. Ser A 49, 758–764 (1946)

    Google Scholar 

  3. Duckworth, R., Stedman, F.: Tintinnalogia (1668)

    Google Scholar 

  4. Jackson, B.: Universal cycles of k-subsets and k-permutations. Discrete Mathematics 149, 123–129 (1996)

    Article  MathSciNet  Google Scholar 

  5. Knuth, D.E.: The Art of Computer Programming. Generating All Tuples and Permutations, Fascicle 2, vol. 4. Addison-Wesley, Reading (2005)

    Google Scholar 

  6. Ruskey, F., Williams, A.: The coolest way to generate combinations. Discrete Mathematics 309, 5305–5320 (2009)

    Article  MATH  MathSciNet  Google Scholar 

  7. Ruskey, F., Williams, A.: An explicit universal cycle for the (n − 1)-permutations of an n-set. ACM Transactions on Algorithms (in press)

    Google Scholar 

  8. White, A.T.: Fabian Stedman: The First Group Theorist? The American Mathematical Monthly 103, 771–778 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  9. Williams, A.: Loopless Generation of Multiset Permutations Using a Constant Number of Variables by Prefix Shifts. In: Proceedings of the Twentieth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2009, New York, NY, USA, January 4-6, pp. 987–996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Holroyd, A., Ruskey, F., Williams, A. (2010). Faster Generation of Shorthand Universal Cycles for Permutations. In: Thai, M.T., Sahni, S. (eds) Computing and Combinatorics. COCOON 2010. Lecture Notes in Computer Science, vol 6196. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14031-0_33

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-14031-0_33

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-14030-3

  • Online ISBN: 978-3-642-14031-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics