实验1:串、KMP算法、稀疏矩阵
设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( )
C.模式匹配
设主串的长度为n,模式串的长度为m,则串匹配的KMP算法时间复杂度是( )。O(n + m)
模式匹配
2-7
若串S=“software”,则其子串数目是____,其中空串和S串本身这两个字符串也算作S的字串。
答案 为37 8+…+2+1 +1(空串也算)
2-9
已知字符串S为“abaabaabacacaabaabcc”,模式串t为“abaabc”。采用KMP算法进行匹配,第一次出现“失配”(s[i]≠t[j])时,i=j=5,则下次开始匹配时,i和j的值分别是()。
答案为i=5,j=2 失配了需要重新匹配,next[5-1]=2
实验2 稀疏矩阵与广义表
对特殊矩阵采用压缩存储的主要目的是( )?
D.
减少不必要的存储空间
//TODO怎么压缩的?
特殊矩阵是什么?
详细的可以查看博客
我稍微简单总结特殊矩阵在<数据结构>严蔚敏 中的描述
特殊矩阵表示非零元分布有数值上的关系的矩阵,可压缩至一维矩阵中.
包括:
- 对称矩阵,压缩方式如图所示,可以看出是存储了下三角也就是行优先,知道规则就很容易推了相应的关系了
- 对角矩阵
2-9
(SWPU-DS)数组 A[0…5, 0…6] 的每个元素占 5 个字节,将其按列优先次序存储在起始地址为 1000 的内存单元中,则元素 A[5, 5] 的地址是( )。
实验3 AVL树与Splay树
实验4 Huffman 树
实验5 最小生成树
实验6 最短路径算法
实验7 拓扑排序与关键路径