BF算法

12 篇文章 0 订阅

##BF算法
朴素匹配法:
群举
假如给下列串:
在这里插入图片描述
s:主串 p 模式串
然后进行模式匹配:
在这里插入图片描述
第一次匹配主串和模式串不匹配。接着继续匹配。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果模式匹配失败。模式串就会回退到主串上一次刚开始的下一个位置。 所有的情况都匹配一次。直到匹配成功。

核心代码:

int BF(PString s,PString p);
{
	int i=0;//遍历 S 主串
	int j=0;//遍历 P 模式串
while(i< s->cur && j< p->cur)//主串没有遍历完成 && 模式串没有遍历
{
	if(i<s->pstr[i] == p->pstr[j])
{
	i++;
	j++}
else
{
	i =i - j+1;	//i下一趟主串需要匹配的位置
	j=0;    

}

}
if(j == p->cur)	//模式匹配完成
{
	return i-p->cur;
}
	return -1;
}
								2020-3-31创作。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

newcatowen

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

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

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

打赏作者

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

抵扣说明:

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

余额充值