Arrow Research search
Back to TCS

TCS 2018

Trimming and gluing Gray codes

Journal Article journal-article Computer Science · Theoretical Computer Science

Abstract

We consider the algorithmic problem of generating each subset of [ n ]: = { 1, 2, …, n } whose size is in some interval [ k, l ], 0 ≤ k ≤ l ≤ n, exactly once (cyclically) by repeatedly adding or removing a single element, or by exchanging a single element. For k = 0 and l = n this is the classical problem of generating all 2 n subsets of [ n ] by element additions/removals, and for k = l this is the classical problem of generating all ( n k ) subsets of [ n ] by element exchanges. We prove the existence of such cyclic minimum-change enumerations for a large range of values n, k, and l, improving upon and generalizing several previous results. For all these existential results we provide optimal algorithms to compute the corresponding Gray codes in constant O ( 1 ) time per generated set and O ( n ) space. Rephrased in terms of graph theory, our results establish the existence of (almost) Hamilton cycles in the subgraph of the n-dimensional cube Q n induced by all levels [ k, l ]. We reduce all remaining open cases to a generalized version of the middle levels conjecture, which asserts that the subgraph of Q 2 k + 1 induced by all levels [ k − c, k + 1 + c ], c ∈ { 0, 1, …, k }, has a Hamilton cycle. We also prove an approximate version of this generalized conjecture, showing that this graph has a cycle that visits a ( 1 − o ( 1 ) ) -fraction of all vertices.

Authors

Keywords

  • Gray code
  • Subset
  • Combination
  • Loopless algorithm
  • Hypercube

Context

Venue
Theoretical Computer Science
Archive span
1975-2026
Indexed papers
16261
Paper id
304164746880246462
v2026.09.13