今天学习了ac自动机算法的原理,好像有一点懂了"空间换时间"的做法。
AC自动机算法
实现的两个步骤:
1.Trie树的构建--->将所有敏感词构建成一颗字典树
2.Fail指针的构建--->实现多模匹配的关键
第一步 Trie树的构建:
第二步 进行Fail指针的构建
Fail指针构建的三个原则:
1.层次遍历(根 左 右)
2.root节点的fail指针指向自己本身
3.如果当前节点的父节点的fail指针指向的节点下存在和当前节点一样的子节点,则当前节点的fail指针指向该子节点,否则指向root节点
学习视频来自:【全程干货】程序员必备算法!AC自动机算法敏感词匹配算法!动画演示讲解,看完轻松掌握,面试官都被你唬住!!_哔哩哔哩_bilibili 博主大大讲解的十分的通俗易懂!!!