字串之簡單模式匹配演算法(BF)

2021-07-04 16:28:40 字數 540 閱讀 6660

•演算法設計思想:

•將主串s的第pos個字元和模式t的第1個字元比較,

–若相等,繼續逐個比較後續字元;

–若不等,從主串s的下一字元(pos+1)起,重新與t第乙個字元比較。 

•直到主串s的乙個連續子串字串行與模式t相等。返回值為s中與t匹配的子串行第乙個字元的序號,即匹配成功。

•否則,匹配失敗,返回值 0 .

#include

#include

using namespace std;

int bf(char s,char t)

{ int len1,len2;

int i=0,j=0; //匹配的初始下標

len1=strlen(s); //主串s的長度

len2=strlen(t); //模式串t的長度

int index=0;

while((i

>s>>t;

cout<

<

字串模式匹配之BF演算法

演算法原理 bf brute force 演算法是字串模式匹配中原理最簡單,也是最直觀的演算法。基本思想是從源字串s中查詢目的字串p,從s中的n個字元開始和p的第乙個字元開始比較,若相等,則繼續分別取s和p的下乙個字元繼續比較,一次類推,直到源字串s中的某一連續串和p完全相等,則匹配成功。如果在匹配...

字串樸素模式匹配演算法 簡單模式匹配演算法

將主串中與模式串長度相同的子串搞出來,挨個與模式串對比 當子串與模式串某個對應字元不匹配時,就立即放棄當前子串,轉而檢索下乙個子串 若模式串長度為m,主串長度為n,則直到匹配成功 匹配失敗最多需要 n m 1 m次比較 最壞時間複雜度 o nm 最壞情況 每個子串的前m 1個字元都和模式串匹配,只有...

字串模式匹配演算法 BF演算法

include include intbf char str1,char str2,int length1,int length2,int pos int main 字串模式匹配演算法 str1為主串,str2為子串 length1為主串長度,length2為子串長度,intbf char str1...