/*
*子串查詢(bf)
*bf演算法是帶回溯的模式匹配演算法,如果緩衝標記已做的匹配,減少回溯,可以提高時間效率,當然會犧牲空間,實際運用中需要做權衡考慮
*主串ms,長度為n
*子串ms,長度為n,n<=n
*初始認為ms的[0,n-n]與子串是匹配位置,將其加入乙個記錄陣列中,匹配個數為n-n+1
*將這些位置的字元與與子串第乙個字元比較,匹配的位置前移儲存,並記錄匹配個數
*繼續子串的其他字元進行比較,記錄匹配的位置及匹配個數
*返回匹配個數
*/#include
#include
int getsubpos(int *rec,char *ms,int n,char *ms,int n)
int size=n-n+1;
for(int i=0;ifor(int i=0; isize = psize; }
return size;
};int main(int argc,char **ar**) ;
int size = getsubpos(rec,ms,strlen(ms),ms,strlen(ms));
for(int i=0; ireturn 0;
};
模式匹配演算法 BF
bf brute force 演算法是普通的模式匹配演算法。1.其思想就是將目標串s的第乙個字元與模式串t的第乙個字元進行匹配,若相等,則繼續比較s的第二個字元和t的第二個字元 若不相等,則比較s的第二個字元和t的第乙個字元,一次比較下去,直到得出最後的匹配結果。bf演算法是一種蠻力演算法。2.最好...
模式匹配 BF演算法
bf演算法就是字串模式匹配的樸素演算法 即蠻力匹配 過程 設主串s,模式t 從s的第乙個字元和t的第乙個字元開始比較,如果匹配則從s的第二個字元與t的第二個字元開始匹配。如果某乙個字元匹配失敗,則進行回溯,s移至第二個字元,t歸為第乙個字元,比較s的第二個字元與t的第乙個字元。重複1,2步驟,直到匹...
BF演算法 串的模式匹配
bf演算法,即暴風 brute force 演算法,是普通的模式匹配演算法,bf演算法的思想就是將目標串s的第乙個字元與模式串t的第乙個字元進行匹配,若相等,則繼續比較s的第二個字元和 t的第二個字元 若不相等,則比較s的第二個字元和t的第乙個字元,依次比較下去,直到得出最後的匹配結果。bf演算法是...