24小时热门版块排行榜    

查看: 513  |  回复: 3

jing199301

木虫 (初入文坛)

[求助] 求教KMP算法!! 已有2人参与

串的模式识别:KMP算法
原理大致理解了,但是求next[j]数组的算法就是看不懂,求大神指点一下!

void getnext(string *t, int next[])
{
    int j, k;
    j = 0;k = -1;next[0] = -1;
    while (j < t->length)
    {
        if (k==-1 || t->ch[j]==t->ch[k])
        {
            j++;
            k++;
            next[j] = k;
        }
        else
            k = next[k];
    }
}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liweining

铜虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
jing199301: 金币+5 2014-08-26 09:21:11
新浪微博搜“研究者july”,他的微博和博客解释的极其清楚!

[ 发自小木虫客户端 ]
advancealittleoneday
2楼2014-08-25 13:07:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gorgan

木虫之王 (文学泰斗)

无意苦争春

【答案】应助回帖

感谢参与,应助指数 +1
next[j] = k;
是对匹配的字符位置进行计数的
无我相,无人相,无众生相,无寿者相
3楼2014-08-25 16:18:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

taiqian1176

木虫 (正式写手)

建议自己写个字符串,对照代码认真做一遍。
4楼2014-08-30 09:05:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 jing199301 的主题更新
信息提示
请填处理意见