为什么我们在后缀自动机算法中对某些节点进行克隆?
Why do we make clone for some nodes in Suffix Automata Algorithm?
这几天一直在研究后缀自动机字符串匹配算法。我看了这些 videos and reed documents 但我真的不明白 为什么我们需要制作一个新节点(在特殊条件下)并克隆它 。我现在知道它是如何工作的,但我很想知道它背后的原因。如果我们保留以前的节点会有什么问题?例如在下图中,我们有 'b' 字符的新节点(红色圆圈)。有人可以向我解释一下吗?欣赏。
你的测试用例没有区别。
另一个测试用例abbcbb
。字符串 bb
应该属于哪个节点?
所以需要clone一个节点,保证每个子串对应的节点是唯一的
这几天一直在研究后缀自动机字符串匹配算法。我看了这些 videos and reed documents 但我真的不明白 为什么我们需要制作一个新节点(在特殊条件下)并克隆它 。我现在知道它是如何工作的,但我很想知道它背后的原因。如果我们保留以前的节点会有什么问题?例如在下图中,我们有 'b' 字符的新节点(红色圆圈)。有人可以向我解释一下吗?欣赏。
你的测试用例没有区别。
另一个测试用例abbcbb
。字符串 bb
应该属于哪个节点?
所以需要clone一个节点,保证每个子串对应的节点是唯一的