串的模式匹配(BF算法)

本文介绍了串的模式匹配算法BF(Brute Force)的实现,详细阐述了算法思想,并提供了算法代码。通过给出的样例输入和输出,展示了BF算法在不同情况下的匹配结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【问题描述】

串的模式匹配算法BF的实现与应用。

【输入形式】

第一行输入主串s;

第二行输入模式串t;

输入串中均不包含空格字符。

【输出形式】

模式串在主串s中的出现的每一个位置序号。若一次都未匹配到,则输出0。

【样例输入1】

ababcabcacbab

ab

【样例输出1】

1 3 6 12

【样例输入2】

111113455113232342432432

11

【样例输出2】

1 2 3 4 10

【样例输入3】

fasdfdsfsadfdsdsagetgrdgfdgdf

2312

【样例输出3】

0

 若 s= "abcdefg",t ="efg",则模式 t 在主串中的序号为5。

若 s = "abcdefgabc", t = "abc",如果指定从 s 串的第一个字符开始搜索,则序号为 1 ;如果改变搜索起始位置,如从第三个字符开始搜索,则序号为 8。

模式匹配的基本算法(BF算法) 

  BF算法(Brute Force)是实现模式匹配最简单,最直观的蛮力法。基本思想:按照从左自右的顺序,从主串第 start 个字符起和,模式串的第一个字符比较,以此类推,则继续逐个比较后续字符;否则从 start+1 个字符起重新比较。直到模式串 t 中的每个字符依次和主串 s 中的一个连续的字符序列相等,则匹配成功;否则匹配失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值