摘要: 常用算法設(shè)計(jì)方法:迭代法、窮舉搜索法、遞推法、遞歸、回溯法、貪婪法、分治法、動(dòng)態(tài)規(guī)劃法 閱讀全文
2007年4月5日 #
摘要: int Index_KMP(String S,String T,int pos)
{
i=pos;j=1;//這里的串的第1個(gè)元素下標(biāo)是1
while(i<=S.Length && j<=T.Length)
{
if(j==0 || S[i]==T[j]){++i;++j;} //注意到這里的j==0,和++j的作用就知道為什么規(guī)定next[1]=0的好處了
else j=next[j];//i不變(不回溯),j跳動(dòng)
}
if(j>T.Length) return i-T.Length;//匹配成功
else return 0;
} 閱讀全文
{
i=pos;j=1;//這里的串的第1個(gè)元素下標(biāo)是1
while(i<=S.Length && j<=T.Length)
{
if(j==0 || S[i]==T[j]){++i;++j;} //注意到這里的j==0,和++j的作用就知道為什么規(guī)定next[1]=0的好處了
else j=next[j];//i不變(不回溯),j跳動(dòng)
}
if(j>T.Length) return i-T.Length;//匹配成功
else return 0;
} 閱讀全文