【问题标题】:Generalized Suffix Tree Java Implementation [closed]广义后缀树 Java 实现 [关闭]
【发布时间】:2010-11-01 10:49:53
【问题描述】:

我正在寻找具有以下特性的通用后缀树 (GST) 的 Java 实现:

从 1000 个字符串创建 GST 后,我想知道这 1000 个字符串中有多少包含其他字符串 's'。

搜索必须快速安静,因为我需要对大约 100'000 个平均长度为 10 的候选字符串应用搜索。

【问题讨论】:

标签: java suffix-tree


【解决方案1】:

试试The Semantic Discovery Toolkit。它在 text/src/java/org/sd/text/radixtree 上有一个实现

【讨论】:

  • 呃,你知道令牌后缀树的任何实现(甚至教程!)吗?
【解决方案2】:

有一个非通用后缀树的 Java 实现可在以下位置获得:http://illya-keeplearning.blogspot.com/2009/04/suffix-trees-java-ukkonens-algorithm.html

【讨论】:

  • 如果它是 Mark Nelson 的直接端口,那么它就不是广义的后缀树。它只是一棵后缀树。
  • 对,我改写了我的答案。谢谢。
【解决方案3】:

我在 Java 中创建了一个后缀树,它允许您轻松添加自己的搜索功能和其他匹配算法。我的博文Suffix Trees in Java 有一个概述以及下载最新版本的说明。我的 Java 实现基于 Mark Nelson 的 Fast String Searching With Suffix Trees 文章。

2016 年 6 月 18 日更新

【讨论】:

  • 这篇博文内容丰富,但来源目前不可用(2015 年 8 月),因为它指向受密码保护的 svn.globalmentor.com/java/trunk/globalmentor-core
  • 我正在尽我所能将我们的存储库从 Subversion 转换为 Git 并再次公开。这应该在一两周内发生。如果那时它不可用,请随时 ping 我。干杯。
  • 源代码现在可以通过 Git 和 Maven Central 获得。我已经用新位置更新了上面的答案。
【解决方案4】:

您可以在此处找到Generalized Suffix Tree in Java 的实现。 我尝试尽可能多地记录它,因此您可能会发现它很有用。

【讨论】:

    【解决方案5】:

    这是我对 SuffixTree 的实现: https://github.com/losvald/sglj/blob/master/src/main/java/org/sglj/util/PATTrie.java

    除其他外,它还支持在节点中存储任意数据,并找到与前缀关联的值集。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-18
      • 2014-01-19
      • 2014-04-28
      • 2015-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-19
      相关资源
      最近更新 更多