4,211 research outputs found

    A constant-time algorithm for middle levels Gray codes

    Get PDF
    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)

    Efficient computation of middle levels Gray codes

    Get PDF
    For any integer n1n\geq 1 a middle levels Gray code is a cyclic listing of all bitstrings of length 2n+12n+1 that have either nn or n+1n+1 entries equal to 1 such that any two consecutive bitstrings in the list differ in exactly one bit. The question whether such a Gray code exists for every 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 this work we provide the first efficient algorithm to compute a middle levels Gray code. For a given bitstring, our algorithm computes the next \ell bitstrings in the Gray code in time O(n(1+n))\mathcal{O}(n\ell(1+\frac{n}{\ell})), which is O(n)\mathcal{O}(n) on average per bitstring provided that =Ω(n)\ell=\Omega(n)

    Gray code

    Get PDF
    У статті подано коди Грея послідовностями по 4 символи для цілих чисел від 0 до 15 включно.В статье представлены коды Грея последовательностями по 4 символа для целых чисел от 0 до 15 включительно.The article presents a Gray code sequences to 4 characters to integers from 0 to 15 inclusive

    A gray code for set partitions

    Full text link

    A Gray Code for the Shelling Types of the Boundary of a Hypercube

    Get PDF
    We consider two shellings of the boundary of the hypercube equivalent if one can be transformed into the other by an isometry of the cube. We observe that a class of indecomposable permutations, bijectively equivalent to standard double occurrence words, may be used to encode one representative from each equivalence class of the shellings of the boundary of the hypercube. These permutations thus encode the shelling types of the boundary of the hypercube. We construct an adjacent transposition Gray code for this class of permutations. Our result is a signed variant of King's result showing that there is a transposition Gray code for indecomposable permutations

    Subset-lex: did we miss an order?

    Full text link
    We generalize a well-known algorithm for the generation of all subsets of a set in lexicographic order with respect to the sets as lists of elements (subset-lex order). We obtain algorithms for various combinatorial objects such as the subsets of a multiset, compositions and partitions represented as lists of parts, and for certain restricted growth strings. The algorithms are often loopless and require at most one extra variable for the computation of the next object. The performance of the algorithms is very competitive even when not loopless. A Gray code corresponding to the subset-lex order and a Gray code for compositions that was found during this work are described.Comment: Two obvious errors corrected (indicated by "Correction:" in the LaTeX source
    corecore