Simple Match - 简单匹配
问题
在文本中查找模式出现的所有位置(长度为,长度为,)。
解法
对于,从开始,依次比较。若相等则向后移动一个位置再继续比较,直到,即,说明在的下标出现;否则重新开始新一轮匹配。
下面演示一个匹配的过程:
从第个字符开始匹配,有,继续匹配下一个字符;
从第个字符开始匹配,有,继续匹配下一个字符;
从第个字符开始匹配,,匹配成功,算法结束;
显然对于中的每个位置,都需要进行一次匹配,而每次匹配的平均时间复杂度为的长度。该算法的时间复杂度为。