最近在复习严蔚敏的数据结构,看到KMP时对其中Next的求法产生兴趣。话费若干时间后,弄懂了next的求法,代码,以及KMP的算法和代码。唯独对“怎么由Next求法的理论,想出其实现代码?”一直想不清楚。其实next的实现代码本身我已经懂了,让我自己写也能写出来,但这个是背的。也就是给一个类似“求Next数组”的题目,我不能给出相应的代码。
于是查找资料,通过查看文章“深度解析KMP”
了解到,其中涉及到自动机的概念。(忘完了,惭愧啊)
遂查找自动机相关资料,得到“ac自动机”和“计算理论导引”一书。下载《计算理论导引》,充电期间会把它恶补下。
后又找到“深度剖析KMP,让你认识真正的Next”
对其中的“POJ 3461 Oulipo”产生兴趣,查找到 POJ是“北京大学程序在线评测系统”(Peking University Online Judge)的缩写。
进入 http://openjudge.cn/ ,发现里面有好多算法相关的题目供练习使用,很感兴趣,就注册了帐号。 http://openjudge.cn/user/42506/,欢迎交流。
由于“搞懂AC自动机,先得有模式树(字典树)Trie和KMP模式匹配算法的基础知识。”所以稍后再研究ac自动机。AC自动机算法详解
本文深入探讨KMP算法中Next数组的求法及其代码实现,涉及自动机理论背景,并通过POJ在线评测系统提供实践练习。同时,介绍了AC自动机的相关概念与实践应用,鼓励读者注册账号进行算法技能提升。
2511

被折叠的 条评论
为什么被折叠?



