《数据结构》_第四章_串、数组和广义表_PTA&蜂考_复习资料_严蔚敏、李冬梅、吴伟民编著

本文章部分资料来源:蜂考_数据结构_pdf,本文章不用于商业用途,仅用于自学,侵删

知识点:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

判断题:

  1. KMP算法的特点是在模式匹配时指示主串的指针不会变小回溯。√

2. KMP算法下,长为n的字符串匹配长度为m的字串的时间复杂度为 O(M+N)√

3.假设模式串是abababaab,则KMP模式匹配算法中的next[j] = 0 1 1 2 3 4 5 6 2。√
b站_青岛大学王卓老师

4 . 空串与空格串是相同的。×

5 . 串是一种特殊的线性表 √

6. 若LS=(( )),该广义表表长为1,表头、表尾均为空表( )。√

选择题:

1、 设主串 T = abaabaabcabaabc,模式串 S = abaabc,采用 KMP 算法进行模式匹配,到匹配成功时为止,在匹配过程中进行的单个字符间的比较次数是:10
在这里插入图片描述
图片↑来源于此链接,侵删

2、 串是一种特殊的线性表,其特殊性体现在(数据元素是一个字符)。

3、 设广义表L=((a,b,c)),则L的长度和深度分别为(1和2)

广义表的深度是指广义表中展开后所含括号的层数,广义表的长度是指广义表中所含元素的个数。根据定义易知L的长度为1,深度为2。

4、 广义表((a,b,c,d))的表头、表尾是(表头:(a,b,c,d) 表尾:( ))。

表头是第一个元素,表尾是去掉第一个元素之后的部分
换一个广义表:((a,b),c,d)表头(a,b) ; 表尾(c,d)

5、 对n阶对称矩阵压缩存储时,需要表长为(n(n+1)/2)的顺序表。

6、 稀疏矩阵一般的压缩存储方式有两种,即(三元组和十字链表)。

7、 带行表的三元组表是稀疏矩阵的一种(顺序存储结构)

8、 广义表是一种(递归的)数据结构。

9、 广义表与稀疏矩阵都是线性表的扩展,它们的共同点为(数据元素本身是一个数据结构)。

10、 设串中字符数为n,则其子串数目为( s=(1+n)*n/2+1) )

11、 设目标串text=“abccdcdccbaa”,模式串pattern=“cdcc”,若采用BF(Brute Force)算法,则在第(6)趟匹配成功。

12、 有一个100×90的稀疏矩阵,非0元素有10,设每个整型数占2个字节,则用三元组表示该矩阵时,所需的字节数是(66)

13、下面的程序段违反了算法的(有穷性)原则。

void sam()
{  int n=2;
   while (n%2==0)    n+=2;
   printf(%d”,n);
}

14、表头和表尾均为空表的广义表是( ) B.(())

15、若n为主串长度,m为模式串长度,采用BF(Brute Force)模式匹配算法,在最坏情况下需要的字符比较次数为 (n-m+1)*m

主串前面n-m个位置都部分匹配到子串的最后一位,即这n-m位比较了m次,别忘了最后m位也各比较了一次,还要加上m!所以总次数为:(n-m)*m+m
=(n-m+1)*m

16、根据KMP算法,模式串p="abaabcac"各字符对应的失配值分别是 -1;0;0;1;1;2;0;1

失配值等于next数组的值-1,

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一、填空题(每空1分,共20分) 1. 不包含任何字符(长度为0)的 称为空; 由一个或多个空格(仅由空格符)组成的 称为空白。 (对应严题集4.1①,简答题:简述空和空格的区别) 2. S=“A;/document/Mary.doc”,则strlen(s)= 20 , “/”的字符定位的位置为 3 。 4. 子的定位运称为模式匹配; 被匹配的主 称为目标, 子 称为模式。 5. 目标T=”abccdcdccbaa”,模式P=“cdcc”,则第 6 次匹配成功。 6. 若n为主长,m为子长,则的古典(朴素)匹配法最坏的情况下需要比较字符的总次数为 (n-m+1)*m 。 7. 假有二维数组A6×8,每个元素用相邻的6个字节存储,存储器按字节编址。已知A的起始存储位置(基地址)为1000,则数组A的体积(存储量)为 288 B ;末尾元素A57的第一个字节地址为 1282 ;若按行存储时,元素A14的第一个字节地址为 (8+4)×6+1000=1192 ;若按列存储时,元素A47的第一个字节地址为 (6×7+4)×6+1000)=1276 。 8. 〖00年计机系考研题〗数组a[1…60, 1…70]的基地址为2048,每个元素占2个存储单元,若以列序为主序顺序存储,则元素a[32,58]的存储地址为 9188 。 答:考虑0行0列,(58列×61行+32行)×2字节+基址2048=9188?? 9. 三元素组表中的每个结点对应于稀疏矩阵的一个非零元素,它包含有三个数据项,分别表示该元素 的 行下标 、 列下标 和 元素值 。 10.求下列广义表操作的结果: (1) GetHead【((a,b),(c,d))】=== (a, b) ; //头元素不必加括号 (2) GetHead【GetTail【((a,b),(c,d))】】=== (c,d) ; …………………………

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微__凉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值