00问答网
所有问题
数据结构 字符串 模式匹配问题 KMP算法
如题所述
举报该问题
其他回答
第1个回答 2019-09-21
你的程序本身思路没有错,但错在以下几点:
1.在程序中有字符串S和T,你用S[0]代表字符串的长度,但S是字符串,S[0]是长度吗?
2.在main函数中,你输入的S和T都是用gets(S)或gets(T),那么它们都是以下标0开头的,你应该要进行处理,使它以下标1作为开头(可以这样gets(&S[1]);
然后S[0]
=
strlen(&S[1])
+
'0';在用S[0]作为长度的时候,把它从字符变成数字就行了)。
相似回答
kmp模式匹配算法
答:
KMP算法是三位学者在 Brute-Force算法的基础上同时提出的模式匹配的改进算法
。Brute- Force算法在模式串中有多个字符和主串中的若干个连续字符比较都相等,但最后一个字符比较不相等时,主串的比较位置需要回退。KMP算法在上述情况下,主串位置不需要回退,从而可以大大提高效率。
数据结构
-
串
的
模式匹配
答:
KMP算法就是利用模式串中与模式串开头部分子串的重复性来减少重复回溯,实现新一轮比较的直接跳转
。 具体来说,KMP算法利用一个数组记录模式串中每一个字符前面有几个字符与模式串从头重复,在与s串比较失配时,直接跳转到重复子串的下一个字符继续比较,而不用跳转至模式串t的第0个字符。算法步骤: ...
串
的
模式匹配算法
答:
暴力算法
,将目标串和模式串的每个字符都进行一一比较。性能最差,但是使用最广,因为实现简单,而且在字符串较小的情况下耗费的性能也很小。O(n*m)RK算法把字符串比较问题,转换为了Hash值比较问题。 将模式串t的每个字符的比较改成了将串作为整体与目标串进行哈希值比较,这样就减少了比较次数 ...
KMP算法
(next数组、nextval数组、有限自动机【AC自动机】)———附带...
答:
KMP算法:
智能匹配的艺术,通过巧妙利用next数组和nextval数组,实现高效字符串匹配的高效算法——有限自动机【AC自动机】
。它以精准的步调,避免了不必要的字符比较,节省了宝贵的时间。核心思想在于next数组,它定义了模式串中失配时,子串需要重新开始比较的位置。每个next[i]代表模式串中第i个字符与主...
大家正在搜
字符串模式匹配KMP数据结构算法
数据结构字符串匹配算法
数据结构模式匹配算法
数据结构模式匹配怎么算
数据结构串的模式匹配
数据结构括号匹配算法
数据结构模式匹配
数据结构括号匹配算法实验报告
数据结构模式匹配代码