Pick a binary string of length n and remove its first bit b. Now insert b after the first remaining 10, or insert at the end if there is no remaining 10. Do it again. And again. Keep going! Eventually, you will cycle through all 2 n of the binary strings of length n. For example, are the binary strings of length n=4, where 1 = and 0 = Che bello! And if you only want strings with weight (number of 1s) between ℓ and u? Just insert b instead of when the result would have too many 1s or too few 1s. For example, are the strings with n=4ℓ=0 and u=2. Strabello! This generalizes 'cool-lex' order by Ruskey and Williams (The coolest way to generate combinations, Discrete Mathematics). We use it to construct de Bruijn sequences for (i) ℓ=0 and any u (maximum specified weight), (ii) any ℓ and u=n (minimum specified weight), and (iii) odd u-ℓ (even size weight range). For example, all binary strings with n=6, ℓ=1, and u=4 appear once (cyclically) in © 2012 Springer-Verlag Berlin Heidelberg.
CITATION STYLE
Stevens, B., & Williams, A. (2012). The coolest order of binary strings. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7288 LNCS, pp. 322–333). https://doi.org/10.1007/978-3-642-30347-0_32
Mendeley helps you to discover research relevant for your work.