在 TOC 中,对字符串执行哪些不同的操作?


字符串是从某个字母表中选择的一组有限的符号序列。

例如:

  • 00011001 是来自二进制字母表 Σ={0,1} 的一个字符串
  • aabbcabcd 是来自字母表 Σ={a,b,c,d} 的一个字符串

下面解释了对字符串执行的不同操作:

  • 连接。
  • 子串。
  • 克林闭包运算。
  • 反转。

连接

连接就是将两个字符串一个接一个地组合起来。

示例

让我们考虑两个字符串:

X= Tutorials

Y= Point

两个字符串的连接 (X, Y) 为:

X.Y = TutorialsPoint

注意:空字符串与其他字符串的连接结果为字符串本身。

例如,X. ε = ε.X = X

子串

如果 'w' 是一个字符串,那么 'v' 是 'w' 的子串,如果存在字符串 x 和 y 使得 w=xvy

'x' 称为 '前缀',y 称为 w 的后缀。

示例

让我们考虑 w='Theory',它定义了前缀 x='The' 和后缀 y='ry'。

子串是 v='o',因为 w=xvy 并且 Theory= Thevry

因此,v=o

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

克林闭包运算

设 'w' 为一个字符串。w* 是通过将 w 与自身进行任意次数的连接(包括空字符串)获得的字符串集合。

示例

a*= { ε,a,aa,aaa,………}

反转运算

如果 'w' 是一个字符串,那么 wR 是该字符串的反转(倒序)。

规则

反转运算的规则如下:

  • x=(xR)R
  • (xz)R= zR.xR

示例

字符串 x 定义为 x= tutorial,则 (xR)R 为 tutorial。这是因为:

X= tutorial

(x)R= lairotut

(xR)R= tutorial

更新于:2021年6月11日

5K+ 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告