BF演算法與KMP演算法

2021-05-31 23:20:07 字數 1095 閱讀 9349

using system;

namespace kmp

else

count++;

}if (j > lenb - 1)

return i - lenb;

else

return 0;

}[stathread]

static void main(string args)

,lenb=", p1.length, p2.length);

reval = kmp(p1, p2, pos);

console.writeline("====not kmp ====");

console.writeline("value=,count=", reval, count);

get_next(p2, next);

reval = index_kmp(p1, p2, pos);

console.writeline("====this is kmp ====");

console.writeline("value=,count=", reval, count);

get_goodnext(p2, next);

reval = index_kmp(p1, p2, pos);

console.writeline("====this is good kmp ====");

console.writeline("value=,count=", reval, count);

console.readline();

}static int index_kmp(char a, char b, int pos)

else

count++;

}if (j > lenb - 1)

return i - lenb;

else

return 0;

}static void get_next(char a, int next)

else}}

static void get_goodnext(char a, int next)

else

}else}}

}}

BF演算法與KMP演算法

bf演算法思想 實現 public class bf int i 0 int j 0 i與j都從0號位置開始 while ilength j else if j sub.length 當j sub的長度時,說明sub陣列已經遍歷完了 else public static void main stri...

BF演算法與KMP演算法

bf演算法 即暴風 brute force 演算法,是普通的模式匹配演算法,它的思想就是將子串的第乙個字元與母串的第乙個字元進行匹配,若相等,則繼續比較子串的第二個字元和母串的第二個字元 若不相等,則比較母串的第二個字元和子串的第乙個字元,依次比較下去,知道得出最後的匹配結果。算是一種蠻力演算法。i...

BF演算法與KMP演算法

這兩種演算法都是字串匹配演算法,通俗來說,就是得到子串在主串中的位置。bf演算法是普通 簡單 的查詢演算法,就是我們常說的暴力破解法。基本思想 圖示 分析 從bf演算法的思想可以得到他的時間複雜度為o m n 這是由於i指標一直要回退,但是有些情況不需要回退,就如上述圖示情況,回退之後和子串t還是不...