KMP字符串匹配算法的实现

2019-02-17  本文已影响0人  芒果菠萝蛋炒饭

KMP字符串匹配算法的实现

暴力查找

  1. 使用一个指针 i 跟踪目标文本 txt, 使用指针 j 跟踪模式字符串 pat, 将 j 置为0且不断增大,直到找到一个不匹配的字符或是模式字符串结束为止。
  2. 如果没有找到匹配,那么将指针 i 向后移动一位,继续进行匹配操作
def brute_force(txt, pat):
    for i in range(len(txt) - len(pat) + 1):
        for j in range(len(pat)):
            if txt[i+j] != pat[j]:
                break
            if j == len(pat) - 1:  # 找到匹配的位置
                return i
    return -1  # 未找到匹配的位置

暴力查找算法最坏的情况需要查找 M*N 次,即对于每一个目标文本中的字符,都会匹配到模式字符串中的最后一个字符

KMP字符串匹配算法

上一篇 下一篇

猜你喜欢

热点阅读