串的模式匹配算法之KMP算法代码
KMP算法是一种字符串的模式匹配算法,使用BF(Brute Force,暴力)算法的时间复杂度为O((m - n + 1)*n),使用KMP算法的时间复杂度为O(m + n)。
其中m为主串的长度,n为模式串的长度。
BF算法代码
char * strFind(const char *string,const char *substring){
assert(string != NULL && substring != NULL);
int m = strlen(string);
int n = strlen(substring);
if (m < n){
return NULL;
}
for (int i = 0;i <= m - n;i++){
for (int j = 0;j < n;j++){
if (