社区
数据结构与算法
帖子详情
模式匹配算法的问题
liuweiwei1
2002-08-02 10:35:41
顺序串上的模式匹配算法描述为
int NaivesrMateh(segstring T,segstring P)
{
int i,j,k,g,m,n;
m=p.length;
n=T.length;
for(i=0;i<n-m;i++)
{
j=0;k=i;
while(j<m&&T.ch[k]==P.ch[j])
{
k++;j++
}
if(j==m)
return i;
}
return -1;
}
模式匹配算法是什么意思?
上面的描述怎么理解?
...全文
107
9
打赏
收藏
模式匹配算法的问题
顺序串上的模式匹配算法描述为 int NaivesrMateh(segstring T,segstring P) { int i,j,k,g,m,n; m=p.length; n=T.length; for(i=0;i<n-m;i++) { j=0;k=i; while(j<m&&T.ch[k]==P.ch[j]) { k++;j++ } if(j==m) return i; } return -1; } 模式匹配算法是什么意思? 上面的描述怎么理解?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Wargod2002
2002-09-15
打赏
举报
回复
这里的回溯是指主串的指针往前返回,
比如在12341275里找子串127,主串
指针为3时发现不匹配,就要回溯到2继续
查找,用kmp算法就可以避免这种回溯,时间
复杂度为O(m+n)
liuweiwei1
2002-09-14
打赏
举报
回复
回溯是什么概念?
LeeMaRS
2002-08-02
打赏
举报
回复
int NaivesrMateh(segstring T,segstring P) // 串T为主串 串P为子串
{
int i,j,k,g,m,n;
m=p.length; // 储存串p的长度
n=T.length; // 储存串n的长度
for(i=0;i<n-m;i++) // 循环,i为主串的的匹配起点
{
j=0; k=i;// j为子串的匹配起点 k为主串的匹配起点
while(j<m&&T.ch[k]==P.ch[j]) // 只要未到子串尾 且 主串和子串在当前匹配位置上匹配
{
k++;j++ // 主串和子串的匹配位置后移一位
}
if(j==m) // 如果到达子串尾(说明刚才for是因为j<m不满足而停的)
return i; // 返回主串与子串的匹配起点
}
return -1; // 匹配失败
}
这是朴素的串匹配法,很容易理解的.不过偶的解释中有一些术语不够专业.
chengxueann
2002-08-02
打赏
举报
回复
更简单的讲,确定:“abc”,在“cdabcd”中的算法返回位置号2,比一个一个循环的找快一点。你的算法好象复杂度很高,应该用function_next[]算法
vacherin5008
2002-08-02
打赏
举报
回复
串的模式匹配即子串定位是一种重要的串运算。设s和t是给定的两个串,在主串s中找到等于子串t的过程称为模式匹配,如果在s中找到等于t的子串,则称匹配成功,函数返回t在s中的首次出现的存储位置(或序号),否则匹配失败,返回-1。t也称为模式。
liushmh
2002-08-02
打赏
举报
回复
看看kmp吧,效率都高些
wei_lil
2002-08-02
打赏
举报
回复
建议您多看看数据结构方面的书籍,还有KMP,NP等算法,
时间复杂度会更小!
多多努力
「已注销」
2002-08-02
打赏
举报
回复
KMP算法才是比较常用的,以上给出的算法都是过于简单的。KMP算法避免了主串的指针回溯问题,而仅仅在子串中回溯指针。以上的简单算法却是同时在回溯主串与子串的指针。
gaochunrong
2002-08-02
打赏
举报
回复
LeeMaRS(小菜虎_水壶的仇人)提供的算法是最容易理解的,学过数据结构的兄弟应该知道,还有一个KMP算法,但是比较复杂。
Spark初级入门(6):Scala
模式匹配
Spark源码视频教程,Scala
模式匹配
精讲,2014年至2015年,Spark 经历了高速发展,无可争议地成为大数据领域内活跃的开源项目。除此之外,已经有超过200个公司为Spark奉献过源代码,使 Spark社区成为迄今为止开发人员...
朴素的
模式匹配
算法
(BF)
朴素的
模式匹配
算法
(BF)
朴素的
模式匹配
算法
和快速
模式匹配
算法
(KMP)
朴素的
模式匹配
算法
和快速
模式匹配
算法
(KMP) 字符串的
模式匹配
寻找字符串p在字符串t中首次出现的起始位置称为字符串的
模式匹配
,其中称p为模式(Pattern),t为正文(Text) 1、朴素的
模式匹配
算法
基本思想:用...
算法
案例分析—字符串
模式匹配
算法
今天来和大家分享一个关于字符串比较的
模式匹配
算法
,在数据结构中对字符串的相关操作中,对子串的定位操作通常称为串的
模式匹配
,同样他也是各种串处理中最重要的操作之一,同时子串也称为模式串,关于主串和模式串...
数据结构:KMP
算法
串的
模式匹配
算法
(全网最详细)
KMP
模式匹配
算法
简述 为了解决朴素
模式匹配
算法
的低效 kmp
模式匹配
算法
由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP
算法
)。KMP
算法
的核心是利用匹配失败后的...
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章