kmp演算法 初體驗

2021-07-29 00:16:34 字數 1608 閱讀 8200

kmp演算法好難呀~!

看了一遍書,不懂,

看了一遍部落格,沒完全懂,

再自己整理了一下筆記,讀了幾遍**,算是懂了?

這種只可意會不可言傳的感覺,我算是懂了。

懶得打字了,把自己做的筆記傳上來吧:

* @date 2023年3月19日

* @version

*問題描述: kmp演算法的核心是求next陣列。

*/public class kmptest

private int _nextarr=null;

private string _originstr=null;

private string _modulestr=null;

private int _resultarr=null;

public kmptest(string originstr,string modulestr)

/**

* 計算next 陣列的值。

* */

private int caculate_nextarr()

int thenextarr=new int[_modulestr.length()];

for(int i=0;i<_modulestr.length>

else if(i==1)else

} else

else

} if(hasequal==false)

} }

//---

return thenextarr;

} public void debugnextarr()

} }

public int getindexofstr()

if(_originstr==null||_originstr.length()<=0)

if(_originstr.length()<_modulestr.length>

int res=-1;

int totallength=_originstr.length();

boolean flag_end=false;

int origin_loc=0;

int module_loc=0;

while(flag_end==false)

else

} else

} else

else

} continue;

} if(origin_loc>=totallength)

} return res;

} }

演算法 初體驗

計算 1 2 99 100 演算法一 include include int main printf d sum return 0 條件改大一些,include include int main printf d sum return 0 2103145472 process returned 0 ...

演算法 初體驗

計算 1 2 99 100 演算法一 include include int main printf d sum return 0 條件改大一些,include include int main printf d sum return 0 2103145472 process returned 0 ...

谷歌初體驗

一直用拼音加加的我,終於在某人的 下,試用了一下谷歌輸入法,結果拼音加加徹底的從我的機器上消失了,我終於也成為了乙個喜新厭舊的人啦.先說一下谷歌比拼音加加強的地方吧.1.最吸引人的地方就是可以自動同步使用者詞庫,這樣只要是能上網的地方,我就可以更新到符合我習慣的詞庫了,打的越多就越熟練,哈哈.2.句...