您当前的位置: 首页 >  彭世瑜 Python

Python算法:Brute-Force算法查找字符串子串位置

彭世瑜 发布时间:2019-07-20 10:03:33 ,浏览量:1

在这里插入图片描述 Brute-Force算法, 简称为 BF算法,是一种简单朴素的模式匹配算法,常用于在一个主串 S 内查找一个子串 T 的出现位置。

它的核心思想与操作是:

对于给定的主串 S 与子串 P ,主串 S 的长度为 N,子串 T 的长度为 M ;

首先,将 S[1] 和 T[1] 进行比较;

若相等,则再比较 S[2] 和 T[2] ,一直到 T[M] 为止;

若 S[1] 和 T[1] 不等,则 T 向右移动一个字符的位置,再依次进行比较;

"""
  0 1 2 3 4
S a c b c d
T c d
s = 0 t = 0

S a c b c d
T   c d
s = 1 t = 0

S a c b c d
T   c d
s = 2 t = 1

S a c b c d
T     c d
s = 2 t = 0

S a c b c d
T       c d
s = 3 t = 0

S a c b c d
T       c d
s = 4 t = 1
"""

代码实现

def searchIndex(S, T):
    s, t, pos = 0, 0, 0
    S_len = len(S)
    T_len = len(T)

    while (s             
关注
打赏
1688896170
查看更多评论
0.0565s