基本信息
文件名称:数据结构(张惠涛)第四章习题答案及解析.docx
文件大小:11.7 KB
总页数:2 页
更新时间:2025-06-06
总字数:约1.18千字
文档摘要

一、单项选择题

1.答案:C.模式匹配是串的一种重要运算

解析:

-A错误:串是字符的有限序列,不是无限序列。

-B错误:空串是长度为0的串,不包含任何字符(包括空格)。

-C正确:模式匹配是串的核心运算之一,用于查找子串在主串中的位置。

-D错误:串可以采用顺序存储(如数组)或链式存储(如块链结构)。

2.答案:B.数据元素是一个字符

解析:串的特殊性在于其数据元素是单个字符,而普通线性表的数据元素可以是任意类型。

3.答案:B.串中所含字符的个数

解析:串的长度是指串中字符的总数,包括空格和其他符号。

4.答案:C.模式匹配

解析:模式匹配是用于查找子串在主串中首次出现位置的算法,如KMP算法或BF算法。

5.答案:B.11

解析:串s=data的长度为4,子串个数为\(\frac{n(n+1)}{2}+1=\frac{4\times5}{2}+1=11\)(包括空串和所有连续字符组合)。

---

二、填空题

1.答案:空串;字符

解析:

-空串是长度为0的串,不含任何字符。

-串的长度是指串中字符的总数。

2.答案:由空格组成的串;空格的数量

解析:

-空格串是由一个或多个空格组成的串(如)。

-其长度是空格的数量,与空串(长度为0)不同。

3.答案:长度;相同;子;主

解析:

-两个串相等的条件是长度相同且对应字符完全相同。

-子串是串中任意连续字符组成的序列,原串称为主串。

4.答案:3

解析:

-BF算法(暴力匹配)从主串structure的第一个字符开始匹配子串truc。

-首次匹配成功的位置是第3个字符开始(struc中的truc),因此返回3(假设下标从0开始则为2,但通常题目描述为从1开始)。

5.答案:2

解析:

-模式串P=abaabc的next数组计算如下:

-next[0]=-1(通常定义为-1或0,视实现而定)

-next[1]=0

-next[2]=0(ab无公共前后缀)

-next[3]=1(aba的最长公共前后缀为a,长度1)

-next[4]=1(abaa的最长公共前后缀为a)

-next[5]=2(abaab的最长公共前后缀为ab,长度2)

-因此next[5]=2。