在理论计算机科学中,解释字符串的概念?
在某个字母表上的字符串是由该字母表中字母组成的有限序列。
例子
toc、money、c 和 adedwxq 是在字母表 ∑ = {a, b, c, . . . , z} 上的字符串。
84029 是在字母表 ∑ = {0, 1, 2, . . . , 9} 上的字符串。
空字符串
空字符串或空串,用 ∧ 表示,是指不包含任何字母的字符串,无论我们考虑的是哪种类型的语言。
字符串连接
给定两个字符串 w1 和 w2,我们将 w1 和 w2 的连接定义为字符串 w1w2。
例子
如果 w1 = pq 且 w2 = r,则 w1w2 = pqr。
如果 w1 = acc 且 w2 = ac,则 w1w2 = accac 且 w2w1 = acacc。
如果 w1 = ∧ 且 w2 = cd,则 w1w2 = cd。
如果 w1 = aa 且 w2 = ∧,则 w1w2 = aa。
如果 w1 = ∧ 且 w2 = ∧,则 w1w2 = ∧;因为 ∧∧ = ∧。
对于任何字符串 w,我们可以如下归纳定义 wn(n ≥ 0):
w0 = ∧;
对于任何 n ≥ 0,wn+1 = wnw。
例子
如果 w = man,则 w
0 = ∧,w
1 = mam,w
2 = mammam,w
3 = mammammam,
等等。
子字符串
给定一个字符串 s,s 的子字符串是 s 的任何一部分,这意味着如果存在字符串 x 和 y(两者都可能为空),使得 **s = xwy**,则 **w** 是 s 的子字符串。
例子
以字符串 472828 为例。那么 ∧、282、4 和 472828 都是 472828 的子字符串。
48 不是 472828 的子字符串。
广告