A Constant-Time Algorithm for Middle Levels Gray Codes
For any integer n ≥ 1 , a middle levels Gray code is a cyclic listing of all n -element and ( n + 1 ) -element subsets of { 1 , 2 , … , 2 n + 1 } such that any two consecutive sets differ in adding or removing a single element. The question whether such a Gray code exists for any n ≥ 1 has been th...
Uloženo v:
| Vydáno v: | Algorithmica Ročník 82; číslo 5; s. 1239 - 1258 |
|---|---|
| Hlavní autoři: | , |
| Médium: | Journal Article |
| Jazyk: | angličtina |
| Vydáno: |
New York
Springer US
01.05.2020
Springer Nature B.V |
| Témata: | |
| ISSN: | 0178-4617, 1432-0541 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Shrnutí: | For any integer
n
≥
1
, a
middle levels Gray code
is a cyclic listing of all
n
-element and
(
n
+
1
)
-element subsets of
{
1
,
2
,
…
,
2
n
+
1
}
such that any two consecutive sets differ in adding or removing a single element. The question whether such a Gray code exists for any
n
≥
1
has been the subject of intensive research during the last 30 years, and has been answered affirmatively only recently [T. Mütze. Proof of the middle levels conjecture.
Proc. London Math. Soc.
, 112(4):677–713, 2016]. In a follow-up paper [T. Mütze and J. Nummenpalo. An efficient algorithm for computing a middle levels Gray code.
ACM Trans. Algorithms
, 14(2):29 pp., 2018] this existence proof was turned into an algorithm that computes each new set in the Gray code in time
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
)
on average, and the required space is
O
(
n
)
. |
|---|---|
| Bibliografie: | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
| ISSN: | 0178-4617 1432-0541 |
| DOI: | 10.1007/s00453-019-00640-2 |