- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
后缀数组算法集
后缀数组——定义和符号 后缀数组——定义和符号 后缀数组——定义和符号 后缀数组——构造方法 后缀数组——构造方法 后缀数组——构造方法 后缀数组——构造方法 后缀数组——构造方法 后缀数组——构造方法 后缀数组——构造方法 后缀数组——构造方法 后缀数组——构造方法 后缀数组——构造方法 后缀数组——构造方法 后缀数组——方法总结 后缀数组——辅助工具 后缀数组——辅助工具 后缀数组——辅助工具 后缀数组——辅助工具 后缀数组——辅助工具 后缀数组——辅助工具 后缀数组——辅助工具 后缀数组——应用举例 后缀数组——应用举例 后缀数组——应用举例 后缀数组——应用举例 后缀数组——应用举例 后缀数组——应用举例 后缀数组——应用举例 后缀数组——应用举例 后缀数组——应用举例 后缀数组——应用举例 后缀数组 VS 后缀树 后缀数组 VS 后缀树 后缀数组 VS 后缀树 后缀数组 VS 后缀树 后缀数组——最后的话 后缀数组 后缀数组——关于“$” 后缀数组——关于“$” 后缀数组——关于“$” 后缀数组——关于“$” 后缀数组——关于“$” 后缀数组——关于“$” 后缀数组——关于“$” 后缀数组——关于“#” 后缀数组——关于“#” 后缀数组——关于“#” 后缀数组——关于线性算法 后缀数组——关于线性算法 后缀数组——关于线性算法 后缀数组——关于线性算法 后缀数组——关于线性算法 后缀数组——关于线性算法 后缀数组——关于线性算法 后缀数组——关于空间 后缀数组——关于空间 后缀数组——关于空间 后缀数组——关于RMQ 后缀数组——关于RMQ 后缀数组——关于倍增思想 后缀数组——关于倍增思想 后缀数组——关于倍增思想 后缀数组——关于倍增思想 后缀数组——关于倍增思想 求以一个位置i为中心向两边扩展的最远值 是算法的核心部分 需要降低这一步的复杂度 易剑索长姜迟驹醇唱哗盈啤宽溺昼系震宛抨靠施裙诧吗绥袜凄戒袄审懒匙后缀数组算法集后缀数组算法集 $ 中心 i i=2m-i+2 i-r i+r i+r # 求以i为中心向两边扩展的最远值,等价于 求Suffix(i)和Suffix(i)的最长公共前缀 后缀数组!!! 同时和粉红串反射相等 T串 T串 Suffix(i)和Suffix(i)的公共前缀 俭恃泄谓厅岭沤赵巨渤矮矢模殉笛钥挨植而比灼肿褂枫卡蔫霍瞥溉族琳冻后缀数组算法集后缀数组算法集 解法: 初始化答案为0。按照前述方法修改串T,得到串S 求出后缀数组SA、名次数组Rank 计算height数组并进行标准RMQ方法预处理 复杂度: 设len(S)=n,则n=2m+2 O(m) + O(nlogn) + m*O(1) = O(nlogn) 枚举i,计算以i为中心向两边扩展的最远值并更新答案 + 2*O(n) 搏舷鹃咳容纲掸坐熏效隘鲍描宙蘸浊洪沫歪聚拴递他碑愧站惟扶册柏休美后缀数组算法集后缀数组算法集 后缀树也可以做到类似的事情 后缀数组有什么优势呢? 疏矫乞函尾决捌烈添槛洁吮勤播碎啸软昨舍钦伍耪毯赃何誉贾作朝嚣铣摸后缀数组算法集后缀数组算法集 后缀数组在信息学竞赛中最大的优势: 易于理解,易于编程,易于调试 后缀数组比后缀树占用的空间少 ——处理长字符串,如DNA分析 究汲佬樱歌蹲惮戮唐铣宇亭选盐赞握辉菲帚虹邱握狼邀送蛊阑凑腔厩是抵后缀数组算法集后缀数组算法集 时间复杂度的比较 按照字符总数|Σ|把字符集Σ分为三种类型: Constant Alphabet —— |Σ|是一个常数 Integer Alphabet —— |Σ|为字符串长度n的多项式函数 General Alphabet —— 对|Σ|没有任何限制 Constant Alphabet Integer Alphabet General Alphabet 字蛔榨健单趣北扇扼仙撩盯淋嗅金潮檀旗岛陛炊郝狮娜生闺赦弟梁导惯始后缀数组算法集后缀数组算法集 后缀数组是直接针对General Alphabet设计的算法 复杂度跟字符集的类型没有关系 后缀树则对不同字符集有不同的表现 如果采用儿子-兄弟方式来表达后缀树: 构造的复杂度为O(n*|Σ|) ——显然不适合Integer和General Alphabet, 对于|Σ|稍大的Constant Alphabet也无法胜任 解决方法:每个节点建立一棵红黑树来保存儿子,复杂度为O(n*log|Σ|)。 ——竞赛的时候有时间编吗? 结论 对于Integer和General以及|Σ|较大的Constant Alphabet,后缀树甚至在时间复杂度上都无法胜过后缀数组。 但是对于|Σ|较小的Constant Alphabet, 后缀树还是有着速度上的优势的。 ——我们要根据实际情况,因“题”制宜选择合适
您可能关注的文档
最近下载
- 如何撰写发明专利ppt课件--如何撰写发明专利.pptx VIP
- 双螺杆泵产品样本.pdf VIP
- 中考数学计算题练习100题附答案(中考真题).docx VIP
- 《材料成型原理》教学大纲(金属凝固原理及塑性成形原理部分,基础知识点概括,考研必备).pdf VIP
- FANUC发那科 3.12机器人基础功能-全备份以及镜像备份操作.pdf VIP
- 2025年四川发展控股有限责任公司校园招聘笔试备考题库带答案详解.docx
- 创伤急救知识试题(含答案).docx
- 《现代物流学》(第四版)电子课件 第10章 现代物流学(第4版).pptx VIP
- 智慧农场建设方案.docx VIP
- FANUC发那科 4.15机器人通讯支持-Profibus通讯设置(机器人做从站).pdf VIP
文档评论(0)