前缀树和后缀树 后缀树的概况是什么?
浏览量:2759
时间:2021-03-17 04:54:05
作者:admin
后缀树的概况是什么?
后缀树是一种数据结构,可以快速解决字符串的许多问题。后缀树的目的是支持有效的字符串匹配和查询。
在学习后缀树之前,让我们先了解trie,一种数据结构。Trie是一个搜索树,可以用来存储和查找字符串。trie的每一面对应一个字符。在trie中搜索字符串s时,只需按顺序枚举s的字符,并从trie的根节点中选择相应的边即可。如果同时转到trie树的叶节点,则trie中存在s。如果未到达叶节点,或者在枚举中未找到相应的边,则s不包括在trie中。
后缀树是一种压缩的trie树。
什么是后缀数组求字符串匹配?
让我们看看这个示例,以找到最大的字符串。如果是子序列,则示例1应输出DDD
一般思路如下:
假设读取字符串是s,而回答字符串是a
显然,a必须是s的后缀,因为在前几个数字相等的情况下,字符串越长,它就越大。贪婪地走到最后一定是正确的。
通过这种方式,我们可以使用基数排序来获得每个后缀在O(n logn)复杂度范围内的排名,最大的一个就是答案。
这是我的代码:(假设给定字符串中只有26个小写字母)
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。