第三十九讲 KMP算法之实现及优化(视频+课件+源代码)
该讲座视频下载地址:http://blog.fishc.com/2303.html
该讲座所需课件:
注:VIP会员享有免费下载本站所有资源的特权!
友情提示:通过购买鱼C光盘/优盘打包(具体内容)均可加入VIP终身会员^_^
:'( 啊啊啊啊啊 买错啦 , 本来要买 KMP算法之NEXT数组代码原理分析,一不注意买错啦,我的二十鱼币啊:'( 支持鱼哥,多学习一下~ 太给力了,鱼老大辛苦了 真是好贴啊…… 来看看 支持支持!@! 激动人心,无法言表! 本来想买课件的,结果鱼币不足。好贵的赶脚! 课件好贵!!! 强烈支持楼主ing…… 太贵了 小甲鱼,kmp优化的那部分代码是不是错了... 看不懂啊,自己完善代码后没有用啊 擦,谁买了,能发一份吗?鱼币不够啊~~~~~~~ index_kmp函数while循环的条件不是应该用或么?? 不错 #include<cstdio>
#include<cstring>
typedef char* String;
void get_next(String T,int *next){
int i=0,j=1;//i表示前缀,j表示后缀
int T_len=strlen(T)-1;
next=0;
while(j<T){
if(0==i || T==T){
++i;
++j;
next=i;
}
else{
i=next;
}
}
}
int Index_KMP(String S,String T,int pos){
int i=pos;
int S_len=strlen(S)-1;
int T_len=strlen(T)-1;
int j=1;
int next;
get_next(T,next);
while(i<=S_len && j<=T_len){
if(0==j || S==T){
++i;
++j;
}
else {
j=next;
}
}
if(j>T_len)return i-T_len;
else return 0;
}
int main()
{
String S=" abcdefgh";
String T=" abcdx";
printf("%d\n",Index_KMP(S,T,1));
return 0;
}
个人学习心得,,,晒晒代码。。。。 支持一下小甲鱼 支持小甲鱼,下月开始办个VIP
页:
[1]
2