2022.10.13作业
竹轩sang
我想也许能帮上一些学弟学妹~?
展开
-
问题 H: 算法4-6:字符串匹配算法执行次数比较(朴素、KMP、改进的KMP)-附加代码模式
输入包括多组数据,每组数据为一行,包含由空格分隔的两个字符串,每个字符串仅由英文小写字母组成且长度不大于100。本题要求同学们编程实现这3种算法,并给出每种算法的字符比较次数,直观感受三种方法的执行效率。有3种方法可以求解字符串模式匹配问题,分别是朴素的暴力算法、KMP算法和改进的KMP算法。本题为附加代码模式,main函数会自动附加在同学们提交的代码后面。按照样例格式和给定的main函数代码输出执行结果,直观感受三种算法的执行效率。原创 2022-10-18 20:35:22 · 469 阅读 · 2 评论 -
问题 F: 算法4-7:KMP算法中的模式串移动数组-附加代码模式
next[0]=-1,从i=0开始,根据next[i]计算next[i+1]的值,具体方法为:令k=next[i],如果T[i]==T[k],则next[i+1]=k+1;=T[k],令k’=next[k],一直迭代,直到T[j]==T[k’]或者k’为-1,则next[i+1]=k’+1。简单的算法可以使用两重嵌套循环,时间复杂度为母串与子串长度的乘积。而KMP算法相对来说在时间复杂度上要好得多,为母串与子串长度的和。本题为附加代码模式,main函数代码如下,将会自动附加在提交的代码后面。原创 2022-10-17 21:09:03 · 313 阅读 · 0 评论 -
问题 G: 数据结构作业03 -- 改进的nextVal向量
输入每个模式串的nextval向量,每个nextval向量输出一行,各数值之间用一个空格隔开。一组由字母和数字组成的模式串,每个模式串输入一行,长度不小于1,不大于200。按照改进KMP算法计算指定模式串的nextval向量。原创 2022-10-17 21:01:24 · 467 阅读 · 0 评论 -
问题 E: 求解最长首尾公共子串-附加代码模式
注意本题为附加代码模式,main函数代码会自动附加在同学们提交的代码后面,请同学们提交代码的时候注释掉自己的main函数代码。输出其首尾最大公共子串的长度。如果该字符串只有1个字符,输出-1;否则,则可以计算其首尾最大公共子串长度并输出。输入一个长度不超过100的字符串,求解其最长首尾公共子串。一个长度不超过100的字符串。原创 2022-10-16 12:11:47 · 607 阅读 · 0 评论 -
问题 D: 字符串匹配(朴素算法)-附加代码模式
使用朴素的字符串匹配算法完成本题。注意本题为附加代码模式,main函数代码会自动附加在同学们提交的代码后面,请同学们提交代码的时候注释掉自己的main函数代码。本题为代码填空题,主要目的是帮助同学们更好的掌握朴素的字符串匹配算法,这是进一步掌握KMP算法的基础。输入包括多行,每行两个字符串S1 S2,用空格隔开。每个字符串长度不超过2千万。对每行输入,输出S2在S1中首次匹配成功的位置,匹配不成功输出-1.原创 2022-10-15 23:22:46 · 334 阅读 · 0 评论 -
问题 C: 字符串转化为整数(附加代码模式)
输入一个字符串,将其转化为整数后输出,本题为附加代码模式,main函数代码如下,将会自动附加在提交的代码后面。如果字符串中没有包含字母,则可以转化一个整数,将其实际结果输出。字符串s,最大长度为10个字符,每个字符可能是数字或者字母;如果字符串中包含字母,则无法转化为一个数字,输出failed。注意如果字符串是“012”,转化为整数后输出应该是12。原创 2022-10-15 23:17:12 · 236 阅读 · 0 评论 -
问题 B: 字符串求反
输出包括2行,第一行为字符串长度,第二行为字符串反转后输出结果。给定一个长度不超过100的字符串,求其长度,并将其反转后输出。输入包括一行长度不超过100的字符串,字符串仅由小写字母组成。原创 2022-10-15 23:11:48 · 289 阅读 · 0 评论 -
问题 A: 字符串变换
给定两个字符串A和B,根据上面的规则,将A变成B,最少需要多少步操作?第一行包括两个小于1000的正整数m和n,分别表示两个字符串的长度,接下来两行每行1个字符串,每个字符串仅由大写字母组成。原创 2022-10-15 23:08:04 · 441 阅读 · 0 评论