什么是bf算法急急急~~
一、什么是bf算法??急急急~~
展开全部BF(Brute Force)算法核心思想是:首先S[1]和T[1]比较,若相等,则再比较S[2]和T[2],一直到T[M]为止;若S[1]和P[1]不等,则T向右移动一个字符的位置,再依次进行比较。如果存在k,1≤k≤N,且S[k+1…k+M]=T[1…M],则匹配成功;否则失败。该算法最坏情况下要进行M*(N-M+1)次比较,时间复杂度为O(MN)。下面是实现:int Index(SString S,SString T,int pos){ / 返回子串T在主串S中第pos个字符之后的位置。若不存在,则函数值为0。 / / 其中,T非空,1≤pos≤StrLength(S)。算法4.5 / int i,j; if(1<=pos&&pos<=S[0]) { i=pos; j=1; while(i<=S[0]&&j<=T[0]) if(S==T[j]) / 继续比较后继字符 / { ++i; ++j; } else / 指针后退重新开始匹配 */ { i=i-j+2; j=1; } if(j>T[0]) return i-T[0]; else return 0; } else return 0;}

二、什么是bf算法??急急急~~
BF(Brute Force)算法核心思想是:首先S[1]和T[1]比较,若相等,则再比较S[2]和T[2],一直到T[M]为止;若S[1]和P[1]不等,则T向右移动一个字符的位置,再依次进行比较。如果存在k,1≤k≤N,且S[k+1…k+M]=T[1…M],则匹配成功;否则失败。该算法最坏情况下要进行M*(N-M+1)次比较,时间复杂度为O(MN)。
下面是实现:
int Index(SString S,SString T,int pos)
{ / 返回子串T在主串S中第pos个字符之后的位置。若不存在,则函数值为0。 /
/ 其中,T非空,1≤pos≤StrLength(S)。算法4.5 /
int i,j;
if(1<=pos&&pos<=S[0])
{
i=pos;
j=1;
while(i<=S[0]&&j<=T[0])
if(S==T[j]) / 继续比较后继字符 /
{
++i;
++j;
}
else / 指针后退重新开始匹配 */
{
i=i-j+2;
j=1;
}
if(j>T[0])
return i-T[0];
else
return 0;
}
else
return 0;
}
三、什么是bf算法??急急急~~
BF)算法核心思想是:首先S[1]和T[1]比较,若相等,则再比较S[2]和T[2],一直到T[M]为止;若S[1]和P[1个字符的位置,再依次进,且S[k+1…k+M]=T[1…M],则匹配成功;否则失败。该算法最坏情况下要进行M*(N-M+1)次比较,时间复杂度为O(MN)。下面是实现:int Indng S,SString T,int pos){ / 返回子串T在主串S中第pos个字符之后的位置。若不存在,则函数值为0。 / / 其中,T非空,1≤pos≤StrLength(S)。算法4.5 / int i,j while(i<=S[0]&&j<=T[0]) if(S==T[j]) / 继续比较后继字符 / { ++i; ++j; } else / 指针后退重新开始匹配 */ { i=i-j+2; j=1; ]) return i-T[0]; else return 0; } else return 0;}