主串 子串(模式串)
BF算法 在主串中检查起始位置分别是0、1、2…n-m且长度为m的n-m+1个子串
时间复杂度是n*m
但是在实际开发的过程中 是比较常用的
因为
大部分情况下 模式串和主串的长度都不会太长
而且每次模式串与主串中的子串匹配的时候 当中途遇到不能匹配的字符时 就停止了 不需要把字符串都比对一下 大部分情况下 够用
朴素字符串匹配算法思想简单 代码实现也非常简单 简单意味着不容易出错
在满足性能要求的前提下 简单是首选
RK
在朴素字符串匹配的基础上 引入哈希
对每个子串分别求哈希值 然后拿子串的哈希值与模式串的哈希值比较
理想情况下的时间复杂度是n
1 |
|
输出如下:
1 | --- time consume --- |