Data structures 在线性时间向广义后缀树插入新字符串
如果我有一个通用后缀树,并且我想插入一个长度为Data structures 在线性时间向广义后缀树插入新字符串,data-structures,suffix-tree,Data Structures,Suffix Tree,如果我有一个通用后缀树,并且我想插入一个长度为m的新字符串,是否可以在O(m)中插入 (树中的总长度为M>>M)是的。如果你还不熟悉,我建议你读一下 现在假设您有一个包含N个字符串的通用后缀树(从现在开始表示为GST)。然后,您希望插入第N+1个字符串S。我将假定您已经为字符串定义了一个终端字符(例如,$),并且在输入字符串中永远不会遇到该字符 追加 $到S(即从现在开始,我们认为S是代码> $< /代码>终止) 使用S的内容沿树向下走,直到: S的内容已用尽:这意味着字符串S之前已插入 S中的
m
的新字符串,是否可以在O(m)
中插入
(树中的总长度为
M>>M
)是的。如果你还不熟悉,我建议你读一下
现在假设您有一个包含N个字符串的通用后缀树(从现在开始表示为GST)。然后,您希望插入第N+1个字符串S。我将假定您已经为字符串定义了一个终端字符(例如,$
),并且在输入字符串中永远不会遇到该字符
- 我们最终在一个节点中,找不到以S的第k个字符开始的转换
- 不匹配发生在过渡的中间,即当前没有对应于新检测到的分支状态的树中的节点。