字符串搜索算法是一种
搜索算法,目的为在一长
字符串中找出其是否包含某字符串。
直观解释
,
char* haystack;
char* needle;
int hlen, nlen, found;int i,j,k;
found =0;
hlen =strlen(haystack);
nlen =strlen(needle);
for(i =0; i<hlen;++i)
for(j =0; j<nlen;++j)
if(haystack[i+j]!= needle[j])
break;
if(j == nlen -1)
found =1;
return found;
上例中,若字符串needle存在于字符串haystack中,则传回1,否则传回0。
但是此直观算法的复杂度为 O(mn),其中haystack的长度为n、needle的长度为m。