English

A constant-time algorithm for middle levels Gray codes

Discrete Mathematics 2019-08-06 v6 Combinatorics

Abstract

For any integer n1n\geq 1 a middle levels Gray code is a cyclic listing of all nn-element and (n+1)(n+1)-element subsets of {1,2,,2n+1}\{1,2,\ldots,2n+1\} such that any two consecutive subsets differ in adding or removing a single element. The question whether such a Gray code exists for any n1n\geq 1 has been the subject of intensive research during the last 30 years, and has been answered affirmatively only recently [T. M\"utze. Proof of the middle levels conjecture. Proc. London Math. Soc., 112(4):677--713, 2016]. In a follow-up paper [T. M\"utze and J. Nummenpalo. An efficient algorithm for computing a middle levels Gray code. To appear in ACM Transactions on Algorithms, 2018] this existence proof was turned into an algorithm that computes each new set in the Gray code in time O(n)\mathcal{O}(n) on average. In this work we present an algorithm for computing a middle levels Gray code in optimal time and space: each new set is generated in time O(1)\mathcal{O}(1) on average, and the required space is O(n)\mathcal{O}(n).

Keywords

Cite

@article{arxiv.1606.06172,
  title  = {A constant-time algorithm for middle levels Gray codes},
  author = {Torsten Mütze and Jerri Nummenpalo},
  journal= {arXiv preprint arXiv:1606.06172},
  year   = {2019}
}
R2 v1 2026-06-22T14:29:28.361Z