我最近遇到一个关于后缀树的问题。假设我们已经有一个字符串S = AB的后缀树,即S是S的前缀A和后缀B的串联。现在我们要构建后缀树U = ACB。到目前为止,此任务的最有效算法是什么?
一种天真的方式是重新重建U,这可以在O(| U |)时间内完成。但是它不会利用S的后缀树的任何信息。我们能比O(| U |)做得更好吗?也许O(| C |),即与构建C的后缀树一样好吗?
非常感谢。
答案 0 :(得分:0)
基于谷歌搜索“动态后缀树”,我认为这可能是一个积极的研究领域。我找到了论文
这不是关于该主题的第一个(或可能是最后一个)单词,我只略去了它的一部分,但是它们在后缀树上呈现了几种变体,这些变体在插入,删除或更改字符串时实现了更好的时间。在第u个子串插入之后: