> 文章列表 > 4.2.1朴素模式匹配算法

4.2.1朴素模式匹配算法

4.2.1朴素模式匹配算法

什么是字符串模式匹配:

 从这段字符串里面搜索内容,被搜索的字符串我们称之为主串。

 

 

也可能匹配不到

 

 

 

 

 

 主串长度为n,模式串长度为m。

朴素模式匹配算法:将主串中所有长度为m的字串依次与模式串对比,直到找到一个完全匹配的字串或所有的字串都不匹配为止。

最多对比n-m+1个字串

将这些字串与模式串对比

 

 

 

接下来:不使用字符串的基本操作,直接通过数组下标实现朴素模式匹配算法。

 

 

 

 

 

 i跟j是相同的,当i和j我们需要将主串指针i指向下一个字串的第一个位置,模式串指针j回到模式串的第一个位置。

 

 

 返回i-T.length就是字串在主串的第一个字符的位置。

这样我们就得到了:

 

  i<=S.length    如果i指针超出了S主串的长度,就会失败

 

 

 主串的长度往往远大于子串的长度。

 返回的是子串的起始位置哦!