kmp算法:单模式串匹配算法,fail指针用于在当前字符失配时,跳转到具有最长公共前后缀的字符进行匹配;
Trie树:字典树(单词查找树)。
ac自动机:
- 多模式串匹配算法;
- ac自动机通俗来说,就是Trie树中每个节点有一个fail指针,fail指针指向当前匹配失效时应跳转的位置,类似于kmp中的next数组;
- fail指针生成规则:fail指针置为父节点fail指针指向节点的相应next指向中。
Trie图:将ac自动机中的每个Trie节点的出边补全。
- 补全规则:当前节点next数组中指向为空的指针,将其置为fail指针指向节点的相应next指向中。
应用场景:
- 给n个单词,一个长度为m的字符序列,问字符序列中有多少个单词出现。