【发布时间】:2017-08-27 09:33:45
【问题描述】:
如何进行下一个操作,以字符串s为后缀树,其顶点数以O(|s|)为界:
Is-k-Sub-string(r) - 检查字符串 r 是否是 s 的 k-sub-string,其中 k-sub-string 定义如下:
如果存在 s 到子字符串的分区,则将 s 的子字符串 r 定义为 k-子字符串:
r=x1x2...xk; xi = s 的子串。
示例:s = whitething,r = inside,r 是 s 的 3 个子串。
我需要该操作以 O(|r|) 的复杂度工作。
我不明白如何在 O(|r|) 上执行此操作,因为 r 中的每个字符都可以是当前分隔符,例如使用 2-Sub-string,因此我必须尝试所有可能的字符作为 x1 和 x2 之间的分隔符(对于分区 r=x1x2)。
有什么想法吗?
【问题讨论】:
标签: algorithm substring time-complexity complexity-theory suffix-tree