这两天复习数据结构(严蔚敏版),记录第四章串中的两个重要算法,BF算法和KMP算法,博主主要学习Java,所以分析采用Java语言,后面会补上C语言的实现过程. 1.Brute-Force算法(暴力法) 要求:将主串的第i个字符(一般情况i为1)和字串的第一个字符进行比较.若相等,则继续比较后续字符:若不相等,则从主串的下一个字符起,重新与子串的第一个字符比较.成功,返回主串中与子串相匹配的子序列的第一个字符的序号:失败,返回0 public class Brute_Force { /** *…
var str="abcbababcbababcbababcabcbaba";//主串 var ts="bcabcbaba";//子串 function BF(s,t){//BF算法 var i=0,j=0,v=-1; while(i<s.length&&j<t.length){ if(s[i]==t[j]){//相等就移动指针 i++; j++; } else{//指针归零 i=i-j+1; j=0; } } if(j==t.lengt…