一篇文章 轻松搞懂 AC自动机 |
您所在的位置:网站首页 › ac自动机需要建tire树吗 › 一篇文章 轻松搞懂 AC自动机 |
索引
概念
前后缀匹配
Trie树
AC自动机的实现
初始化
Fail指针的构建
匹配字符串
一名蒟蒻向您问好。 概念这是 AC自动机,不是自动AC机, 是一个十分常用的多模式字符串匹配算法 (也就是一个主串跟很多串匹配,叫多模式串匹配,那些串就叫模式串) AC自动机是建立在Trie树上的,它利用fail失配指针(叫别的也一样),来寻找一个其它模式串的前缀与当前模式串的后缀相等。 (比起后缀自动机没有就自己建一条的直接而言,AC自动机这样指针索引的方式似乎更委婉(但后缀自动机的难度似乎更加“委婉”呢(微笑脸)) 也就是说,AC自动机是一个魔改的Trie树(或者说加料),其思想和KMP算法的前后缀匹配不谋而合,不过一个在树上,一个在序列里。 前后缀匹配虽然我们要讲的是树上的,但为了理解思想,我们用比较好理解的字符串来看,虽然只是一个储存结构的问题。 例如我们有: 主串: "ABCD" 模式串: "AB" "BC" "BCD" 那么我们要匹配的话,普通的过程是像这样: ABCD AB +1 AB AB BC BC +1 BC BCD BCD BCD + |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |