[数据结构]KMP算法
Posted .阿Q.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[数据结构]KMP算法相关的知识,希望对你有一定的参考价值。
1、暴力匹配(BF)算法
BF算法,即暴力 (Brute Force) 算法,是普通的模式匹配算法。
BF算法的思想就是将 子串S 的第1个字符与 主串T 的第1个字符进行匹配,若相等,则继续比较S的第2个字符和T的第2个字符;若不相等,则比较S的第1个字符和T的第二个字符。依次比较下去,直到得出最后的匹配结果。BF算法是一 种蛮力算法。
例子,详细解释:
#include<stdio.h>
#include<string.h>
/*
字符串匹配算法 BF
str:主串
sub:子串
返回值:返回子串在主串当中的下标。如果不存在,则返回-1
*/
int BF(char *str, char *sub)
if (str == NULL || sub == NULL)
return -1;
int lenStr = strlen(str);
int lenSub = strlen(sub);
int i = 0;
int j = 0;
while (i < lenStr && j < lenSub)
if (str[i] == sub[j])
i++;
j++;
else
i = i - j + 1;
j
以上是关于[数据结构]KMP算法的主要内容,如果未能解决你的问题,请参考以下文章