首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

KMP算法推导有关问题

2012-04-09 
KMP算法推导问题C/C++ codevoid get_next(string T, int *next){int i, ji 1j 0next[1] 0while

KMP算法推导问题

C/C++ code
void get_next(string T, int *next){   int i, j;   i = 1;   j = 0;   next[1] = 0;   while (i < T[0]) //假设T[0]是字符串的长度,这里是T[0] = 6   {         if (j == 0 || T[i] == T[j]) //这里看不明白,为什么要判断j == 0 或者  T[i] == T[j]         {              ++i;              ++j;              next[i] = j;          }          else          {               j = next[j]; //这个也看不明白           }    }}


[解决办法]
设个断点,单步调试
[解决办法]
在回去仔细看看KMP的递推公式j=next[j]不理解的话就说明KMP算法
思想你还没想明白
[解决办法]
http://www.matrix67.com/blog/archives/115
请楼主先看看此文,了解一下kmp的思路

热点排行