Loop-free Gray code algorithm for the e-restricted growth functions

Toufik Mansour, Ghalib Nassar, Vincent Vajnovszki

Research output: Contribution to journalArticlepeer-review

Abstract

The subject of Gray codes algorithms for the set partitions of {1,2,...,n} had been covered in several works. The first Gray code for that set was introduced by Knuth (1975) [5], later, Ruskey presented a modified version of Knuths algorithm with distance two, Ehrlich (1973) [3] introduced a loop-free algorithm for the set of partitions of {1,2,...,n}, Ruskey and Savage (1994) [9] generalized Ehrlichs results and give two Gray codes for the set of partitions of {1,2,...,n}, and recently, Mansour et al. (2008) [7] gave another Gray code and loop-free generating algorithm for that set by adopting plane tree techniques. In this paper, we introduce the set of e-restricted growth functions (a generalization of restricted growth functions) and extend the aforementioned results by giving a Gray code with distance one for this set; and as a particular case we obtain a new Gray code for set partitions in restricted growth function representation. Our Gray code satisfies some prefix properties and can be implemented by a loop-free generating algorithm using classical techniques; such algorithms can be used as a practical solution of some difficult problems. Finally, we give some enumerative results concerning the restricted growth functions of order d.

Original languageEnglish
Pages (from-to)541-544
Number of pages4
JournalInformation Processing Letters
Volume111
Issue number11
DOIs
StatePublished - 15 May 2011

Keywords

  • Combinatorial problems
  • Gray codes
  • Loop-free algorithms
  • Partitions
  • e-Restricted growth functions

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Signal Processing
  • Information Systems
  • Computer Science Applications

Fingerprint

Dive into the research topics of 'Loop-free Gray code algorithm for the e-restricted growth functions'. Together they form a unique fingerprint.

Cite this