对于长度为S
的给定字符串n
-
查找S
的所有唯一子字符串的最佳算法不能小于O(n^2)
。因此,最好的算法会给我们O(n^2)
的复杂性。根据我的阅读,可以通过为S
创建后缀树来实现。
可以在O(n)
时间内创建S的后缀树。现在,我的问题是 -
我们如何使用S的后缀树来获取S
中O(n^2)
的所有唯一子字符串?
答案 0 :(得分:2)
尝试阅读有关后缀数组:http://en.wikipedia.org/wiki/Suffix_array 此方法比后缀树更快,可以在字符串中获取子字符串。
答案 1 :(得分:1)
可以通过尝试最佳地完成。将字符串添加到trie并从根到遍历遍历。每个根节点路径将表示字符串的后缀。获取这些后缀的所有前缀。这些是独特的子串。