给出集合 L = {ww: w ∈ {0, 1}*} 的枚举过程

Give an enumeration procedure for the set L = {ww: w ∈ {0, 1}*}

枚举过程:我将如何列出这里的内容?

那么,解释一下如何仅使用 {0,1}* 来列出一个单词?

现在我对 WW 感到困惑。有没有办法只列出1W?

我该怎么办?

谢谢。

w表示由1和0组成的字符串。字符串也可以是空字符串,通常 w 可以有任意长度。 ww 表示连接到自身的字符串。例如,如果 w = 001,则 ww = 001001。因此,要枚举所有此类字符串,您需要先枚举每个可能的字符串,然后将其连接到自身。

在python中我们可以这样开始枚举:

from itertools import product
for ndigits in xrange(4):
    for s in product("01", repeat=ndigits):
        w = "".join(s)
        print w + w

输出:

00
11
0000
0101
1010
1111
000000
001001
010010
011011
100100
101101
110110
111111