Design and Analysis of a Tree-Backtracking Algorithm for Multiset and Pure Permutations

  • Ray Jinzhu Chen
  • Kevin Scott Reschke
  • Hailong Hu
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7643)


A tree-backtracking-based technique, permutation tree generation with Anterior-items-in-an-array for Remaining Distinct Elements (ARDE), is introduced for multiset and pure permutations. We analyze the algorithm at the assembly level and obtain its time formula for pure permutations. We mathematically prove that our time formula is 11.5% faster than the corresponding formula of the previous fastest algorithm for pure permutations for any length N > 3. We also offer related source codes and executable files on our web site for others to use.


tree-backtracking tree generation multiset permutation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Chen, R.J., Reschke, K.S., Tong, M.: Code of evaluation and comparison for multiset permutations (2010),
  2. 2.
    Knuth, D.E.: MMIX: A RISC Computer for the New Millennium. In: The Art of Computer Programming. Fascicle, vol. 1. Addison-Wesley, Co., Inc., Reading (2005)Google Scholar
  3. 3.
    Sedgewick, R.: Permutation generation methods. ACM Computing Surveys (CSUR) 9, 137–164 (1997)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Sedgewick, R.: Permutation generation methods. Dagstuhl Workshop on Data Structures, Wadern, Germany (2002), (accessed March 22, 2009)

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Ray Jinzhu Chen
    • 1
  • Kevin Scott Reschke
    • 2
  • Hailong Hu
    • 3
  1. 1.Fast SwitchDublinUSA
  2. 2.Department of Computer ScienceStanford UniversityStanfordUSA
  3. 3.Software SchoolXiamen UniversityXiamenChina

Personalised recommendations