用BF算法实现主串abacdacdeafadec子串acdea匹串
时间: 2023-11-27 07:49:14 浏览: 69
数据结构中串的算法实现
下面是使用BF算法实现主串abacdacdeafadec子串acdea匹配的Python代码:
```python
def bf_match(main_str, pattern_str):
m = len(main_str)
n = len(pattern_str)
for i in range(m-n+1):
j = 0
while j < n and main_str[i+j] == pattern_str[j]:
j += 1
if j == n:
return i
return -1
main_str = "abacdacdeafadec"
pattern_str = "acdea"
index = bf_match(main_str, pattern_str)
if index != -1:
print("匹配成功,子串在主串中的位置为:{}".format(index))
else:
print("匹配失败")
```
输出结果为:
```
匹配成功,子串在主串中的位置为:5
```
解释:从主串的第一个字符开始,依次取出与子串长度相等的子串进行比较,如果相等就返回该子串在主串中的位置。在这个例子中,我们从主串的第一个字符a开始,依次取出长度为5的子串abacd与子串进行比较,不相等;然后取出长度为5的子串bacda与子串进行比较,不相等;再取出长度为5的子串acdac与子串进行比较,不相等;接着取出长度为5的子串cdacd与子串进行比较,不相等;继续取出长度为5的子串dacde与子串进行比较,相等,返回该子串在主串中的位置5。
阅读全文