1

我正在研究一个必须找到最长重复子字符串的 php 脚本。我发现了这个后缀树的东西。我正在尝试实现 Ukkonnen 的算法,但我不知道何时以及如何扩展树。

如果我有不在树中的新字符也没关系,但我必须从根创建一个新节点和 egde。但是我怎么知道我是否必须分裂一个边缘?

我找到了它的 C++ 实现(链接),我试图将它翻译成 php,但我想我有一个 typeo,因为它给出了一个几乎很好的结果,问题是我无法修复它,直到我没有完全理解它...

我阅读了十几个关于 Suffix-Trees 的描述,但其中一些并没有深入到其中,另一些则在第二句之后让我头疼。

这是我现在拥有的代码:Suffix-tree.php(对不起,这个编辑器不能接受它)我用这个网站来检查结果。

所以任何建议将不胜感激......

编辑:我从提到的网站上找到的 JavaScript 内容重写了它。这是源代码的链接:Suffix-Tree v0.1

4

1 回答 1

1

数据压缩专家 Matt Mahoney 给出了很好的解释。但是我也没有理解实现,这很困难。仅供参考,我已经设法运行了一个后缀树 php 扩展。如果有帮助,您可以在 sourceforge 找到我的代码。不过我很想看看你的最终代码!

于 2011-04-16T12:26:20.460 回答