关于KMP算法中next和nextval的算法思路

关于KMP算法中next和nextval的算法思路一,关于next的求法。就是比较从0到当前值减一是否有相同值,最后结果加一。二,关于nextval的求法。

一,关于next的求法

就是比较从0到当前值减一是否有相同值(即正着看和倒着看对比),最后结果加一。

直接上图:

求abaabc的next值和aabaabaabaac的next值

关于KMP算法中next和nextval的算法思路

关于KMP算法中next和nextval的算法思路

留一个小问题可以自己试着做一下,串“ababaaababaa”的next值为011234223456。

二,关于nextval的求法

nextval根据next值求,如果x位置和next[x]的字符相同,则nextval[x]=nextval[next[x]],否则nextval[x]=next[x]

(或者可以理解为相同则变,不同不变)

直接上图:

求ababaabab的nextval值

关于KMP算法中next和nextval的算法思路

关于KMP算法中next和nextval的算法思路

可能这篇文章文字描述较少,只要把两幅图看懂,就可以做题了。

如果还没看懂,可以私聊我,再亲自教你

今天的文章关于KMP算法中next和nextval的算法思路分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/7774.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注