我正在研究一个必须找到最长重复子字符串的 php 脚本。我发现了这个后缀树的东西。我正在尝试实现 Ukkonnen 的算法,但我不知道何时以及如何扩展树。
如果我有不在树中的新字符也没关系,但我必须从根创建一个新节点和 egde。但是我怎么知道我是否必须分裂一个边缘?
我找到了它的 C++ 实现(链接),我试图将它翻译成 php,但我想我有一个 typeo,因为它给出了一个几乎很好的结果,问题是我无法修复它,直到我没有完全理解它...
我阅读了十几个关于 Suffix-Trees 的描述,但其中一些并没有深入到其中,另一些则在第二句之后让我头疼。
这是我现在拥有的代码:Suffix-tree.php(对不起,这个编辑器不能接受它)我用这个网站来检查结果。
所以任何建议将不胜感激......
编辑:我从提到的网站上找到的 JavaScript 内容重写了它。这是源代码的链接:Suffix-Tree v0.1