【发布时间】:2012-06-07 22:57:28
【问题描述】:
在创建字符串“ABAB”的后缀树时,我只得到 2 个节点:
ABAB 和 BAB
最长的重复子串(“AB”)应该位于“具有至少 k 个后代的最深节点”,但我的字符串不是这种情况,这里有什么问题?
谢谢
【问题讨论】:
-
这不是一个正确的后缀树(例如,它在任何地方都没有后缀“B”)。
-
然而它有,它有“ABAB”和“BAB”的任何后缀(它使用路径压缩)
-
不,它没有。如果您认为是,请显示实际的后缀树,以及在其上找到后缀“B”的位置。
-
后缀 B 包含在 BAB 叶中,您可以使用 Mark Nelson 的程序 (marknelson.us/1996/08/01/suffix-trees) 自己运行它我认为我的问题的答案是我需要计算每个字母的出现次数.
-
我不明白您如何从该表示中提取所有后缀(根据您的推理,您也可以说“ABA”包含在“ABAB”叶中,但 ABA 不是后缀) .我的回答显示了该算法可能预期的表示。
标签: algorithm suffix-tree