我遇到了一个问题,需要一个数据结构来保存字符串S,并允许我进行以下操作:
我的问题是:如何在隐式后缀树中搜索字符串?
- 在O(|W|)时间内检查单词W是否为S的子串
- 在O(|U|)时间内找到S的最长后缀,该后缀也是给定单词U的前缀
- 在O(|K|)时间内将字符串K附加到S的末尾
我的问题是:如何在隐式后缀树中搜索字符串?
编辑:我接受了一个非常好的答案来解决我的问题,但同时我设法找到了一个更简单的解决方案2:只需要使用KMP算法在长度为|U|的S后缀中搜索U,并且最后匹配字符数将是字符串重叠。