- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
字典树后缀树刘凯宇
2大纲字典树构建特点操作应用后缀树定义构建应用
3字典树〔Trie〕又称单词查找树,键树或前缀树优点:最大限度的减少无谓的字符串比较,查询效率比哈希表高应用:是用于统计和排序大量的字符串字典树
4CLWYZAHIOAENOGNAIONUNGAEUNGNAUNGNHAOO(n*len)字典树的构建{CAI、CAO、CHA、CHANG、LI、LAN、WEN、CHAO、YUN、YANG、LONG、WANG、ZHAO、LIU、WU、CHEN}
55字典树的特点根结点不包含字符,除根结点外每个结点只包含一个字符。从根结点到某一结点,路径上经过的字符依次连接起来,为该结点对应的字符串。每个结点的所有孩子结点包含的字符都不相同。abehbcddcdfgiibabcabdbcdabcdefghii
6以树的多重链表表示字典树。
7操作一组单词innintateageadvantianatagadaninnintateageadvantinntatgdneevt查询O(length)插入O(length)删除O(length)atmatm
8应用n个单词,平均长度len判断是否存在某个串为另一个串的前缀子串。字符集从头往后搜索T(n)=O(n2)使用哈希表创立T(n)=O(n*len)查询T(n)=O(n)*O(1)使用Trie创立T(n)=O(n*len)查询T(n)=O(len)abcabcdeaababcabcdabcde
9对n个单词按字典序排序。n个单词读入字典树,然后对字典树进行先序遍历。寻找热门查询采用Trie关键字域存储该字符串出现次数然后找出最频繁的10个词统计最热门的10个查询串
10大纲字典树定义特点操作应用后缀树定义构造应用
11后缀树S=XMADAMYXsuffix1=XMADAMYXsuffix2=MADAMYXsuffix7=YXsuffix8=Xsuffix9=$字符串的后缀:……
12后缀参加Trie,我们得到如下结构。
13
14后缀树的构造—UKK思想:假设T[0…i-1]后缀树已经建好,那么在T[0…i-1]的每个后缀的后面加上字符T[i]就可以得到T[0…i]的后缀树。在已建好的后缀树中,树的结点分为三种:叶节点;显示结点:该结点之后至少有两条边;隐式结点:由于路径压缩而剔除的结点。
15将T[i]添加到后缀T[j…i-1]规那么1T[j…i-1]以叶结点结束,T[i]添加到叶结点的入边上。规那么2T[j…i-1]以显式结点结束,结点子树对应的边都不以T[i]开始,添加树叶T[i]。规那么3T[j…i-1]以隐式结点结束,这个结点所在边的下一个字符不是T[i],隐式变显式,添加树叶T[i]。规那么4T[j…i]已经存在,什么都不用做。例如,构建字符串BOOB的后缀树。
16rootroot1Broot12BOOroot12BOOOOroot12BOOBOOBroot1324BOOBOOBB
17root03412BOOB$$$OOB$B$T(n)=O(n)节省空间结点数=2n
18后缀树的应用找出给定字符串里的最长回文。构建后缀树求LCA(S(i),S’(n-i+1))以及LCA(S(i+1),S’(n-i+1))i从1到n找到最大的LCA883416561207702345DAMYX$X#$YMADAMX#X$#MADAMYX$X#XA$#DAMMYX$X#YX$X#YX$X#MADAMYX$YMADAMX#S=XMADAMYX$S’=XYMADAMX#i=1LCA(XMADAMYX,X)=Xi=4LCA(DAMYX,DAMX)=DAMi=3LCA(ADAMYX,AMX)=Ai=2LCA(MADAMYX,MX)=Mi
原创力文档


文档评论(0)