『写在前面』
今天又是连着上一下午的数据结构,ORZ。讲了Knuth,Morris,Pratt三位大牛写的惊天算法。但是听的糊里糊涂,所以今天来整理一下。
『KMP算法原理』
KMP算法其实是对经典BF算法的一种优化,利用了之前比较过的“已知信息”,跳过了重复的比较,加快了算法效率。
先看BF算法
BF算法是一种暴力求解的方式,是拿子串从头挨个和主串比较 ,当串匹配成功就跳出循环
(从百度盗个图来理解一下)
//*ÒÔÏÂΪ¾µäBFËã·¨
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "ababcabcacbab",t = "abc";
int n = s.length(),m = t.length();
int i = 0,j = 0;
while( i <