版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
算法设计与分析本节要点CONTENTSAC自动机AC自动机
AC自动机是KMP算法和Trie树的结合,是经典的多模匹配算法。首先将多个模式串构建一棵字典树,然后在字典树上添加失配指针,失配指针相当于KMP算法中的next函数(匹配失败时的回退位置),最后将主串在Trie树上进行模式匹配。AC自动机算法分为3步:①构建一棵字典树;②构建AC自动机;③进行模式匹配。AC自动机1.构建字典树插入一个字符串时,从前往后遍历字符串,从字典树的根开始判断当前要插入的字符节点是否已存在,若已存在,则沿该分支遍历下一个字符;若不存在,则创建一个新节点表示这个字符。继续遍历其他字符,直到字符串处理完毕。AC自动机假设有单词she、he、his、hers,构建一棵字典树。AC自动机算法实现AC自动机2.构建AC自动机KMP算法中的next函数(回退函数或者fail函数)。next函数表示S[i]与T[j]不等时j应该回退的位置。AC自动机AC自动机的失配指针有同样的功能,匹配失败时,跳转到当前节点的失配指针所指向的节点,再次进行匹配操作。AC自动机可以实现多模式匹配,归功于失配指针(fail指针)。给字典树的每个节点添加失配指针,AC自动机就构造完成了。AC自动机AC自动机的失配指针指向的节点代表的字符串是当前节点代表的字符串的最长后缀。AC自动机对于当前节点t,t的子指针t->ch[i]分为两种情况:t->ch[i]不为空:t->ch[i]的失配指针指向t->fail->ch[i]。t->ch[i]为空:t->ch[i]指向t->fail->ch[i]。AC自动机算法步骤:(1)树根入队。(2)若队列不为空,则取队头元素t并出队,访问t的每一个子节点t->ch[i]:t->ch[i]不为空:t->ch[i]的失配指针指向t->fail->ch[i],
并将t->ch[i]入队。t->ch[i]为空:t->ch[i]指向t->fail->ch[i]。(3)队空时,算法结束。AC自动机算法实现AC自动机3.模式匹配模式匹配指从树根开始处理模式串的每个字符,沿着当前字符的fail指针,一直遍历到u->count=-1为止,在遍历过程中累加这些节点的u->count,累加后将节点标记为u->count=–1,避免重复统计。u->count大于或等于1的节点都是可以匹配的节点。AC自动机例如,在字符串shers中包含了几个单词?AC自动机算法实现AC自动机性能分析给定k个单词和一段包含n个字符的文章,求有多少个单词在文章里出现过。
若使用KMP算法,则每个模式串Ti都要与主串S进行一次匹配,总时间复杂度为O(n×k+m),其中n为主串S的长度,m为模式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年深圳市妇幼保健院医护人员招聘笔试备考试题及答案详解
- 2026年黑龙江省农垦宝泉岭管理局中心医院医护人员招聘笔试备考题库及答案详解
- 九年级生物上册期末试卷
- (2026版)护理交接班制度试题(附答案)
- 2026年首都医科大学附属北京安定医院医护人员招聘考试参考试题及答案详解
- 2026年广州医科大学附属第一医院医护人员招聘考试备考题库及答案详解
- 2026年淄博市中医院医护人员招聘笔试备考试题及答案详解
- 2026年漯河市第一人民医院医护人员招聘考试备考试题及答案详解
- 2026年太和医院医护人员招聘考试参考试题及答案详解
- 2026年邮政储蓄银行(广东省分行)人员招聘笔试备考试题及答案详解
- 2025新奥集团春季校园招聘100人笔试历年参考题库附带答案详解
- 妊娠期肝内胆汁淤积症皮肤瘙痒护理查房
- 应届毕业生公务员政审学校个人鉴定模板
- GB/T 47376-2026油气井管柱全生命周期腐蚀评价方法
- 2026高考全国二指导卷语文(全国二卷01)(考试版A3)
- 储能为核心的新能源革命技术路径探索
- (五调)武汉市2026届高三年级五月调研考试生物试卷(含答案)
- 2026云南红河州红投新材料有限公司第一批社会招聘5人备考题库附答案详解(b卷)
- 2026年上半年山东高速集团有限公司校园招聘314人笔试备考试题及答案解析
- 长期照护师(初级)理论考试题库(含答案及解析)
- 2025-2030智慧公路行业市场发展现状供需分析及技术产业化规划研究
评论
0/150
提交评论