数据结构—串

一、简答题
1、串的逻辑结构是什么?
答:串是字符串的简称,它也是一种线性结构。串是由零个或多个字符组成的有限序列。


2、空串与空格串的区别是什么?
答:空串:含零个字符,长度为0;
空格串:只包含空格字符。


3、两个串相等的充分必要条件是什么?
答:两个串相等的充分必要条件是:当且仅当两个串的长度相等并且各个对应位置上的字符都相同时,这两个串才是相等的。


4、空串是任意串的子串吗?串自身呢?
答:空串是任何串的子串;一个串中任意个连续字符组成的序列都是该串的子串,所以串本身也是其子串。


5、什么是结点大小?
答:通常将链串中每个节点所存储的字符个数称为节点大小。
6、什么是模式匹配?
答:设有主串s和子串t,定位子串t就是要在主串s中找到一个与子串t相等的子串。通常把主串s称为目标串,把子串t称为模式串,因此定位也称作模式匹配。


7、KMP的特点是什么?
答:消除了主串指针的回溯,从而使算法效率有了某种程度的提高。




已知模式串t为:“abcdababcdae”,求出给出模式串写出next[]。
答:模式串用next数组存放它的“部分匹配”信息。实际上,模式串中的部分匹配信息就是真子串。
对于n号字符X,前面的子串中,找出与模式串t的开头字符匹配的有几个。


j        0   1   2   3   4   5   6   7    8   9   10   11
t[j]     a   b   c   d   a   b   a   b    c   d    a    e
next[j]  -1  0   0   0   1   1   2   1    2   3    4    5


二、算法题
编写算法实现串的置换操作Replace( S, T, R), 即将串S中所有与串T相等的子串置换为串R.。
  • 10
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值