开发者社区 问答 正文

关于KMP算法问题

不清楚k=nextval[k]是什么意思

展开
收起
知与谁同 2018-07-15 09:15:48 1255 分享 版权
1 条回答
写回答
取消 提交回答
  • k=nextval[k]的意思是指当模式串(即T串)与主串(即S串)发生失配时,这个k应当指示前缀指针应当回溯到哪个位置。

    比如,有下面的匹配表值
    next值 :001012
    假设k当前等于2时,那么如果此时模式串与主串发生失配时,就有k=nextval[2]=1,即模式串与主串匹配到第2个字符时发生失配,那么后缀指针无需回溯,前缀指针只需回溯到第1个字符的位置并且继续与主串的第2个字符匹配。这样就可以加快匹配的速度,因为后缀指针不用再回溯。即教材所说的后缀指针尽量向右侧滑动。
    2019-07-17 22:55:54
    赞同 展开评论
问答分类:
问答标签:
问答地址: