java - 快速将字符串与 Java 中的集合进行比较

标签 java algorithm data-structures pattern-matching edit-distance

我正在尝试计算字符串与集合的编辑距离,以找到最接近的匹配项。我目前的问题是集合非常大(大约 25000 项),所以我不得不将集合缩小到只有相似长度的字符串,但这仍然只会将它缩小到几千个字符串,而且这仍然非常慢。是否有允许快速查找相似字符串的数据结构,或者是否有其他方法可以解决此问题?

最佳答案

听起来像 BK-tree可能是你想要的。这是一篇讨论它们的文章:http://blog.notdot.net/2007/4/Damn-Cool-Algorithms-Part-1-BK-Trees . quick Google产生一些 Java 实现。

关于java - 快速将字符串与 Java 中的集合进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9139423/

相关文章:

java - 如何在 oncreate 之外使用 SharedPreferences?

algorithm - 是否可以懒惰地生成轮子?

c# - 编写一个函数来比较两个字符串并返回第三个字符串,该字符串仅包含出现在两个字符串中的字母

python-3.x - 在 Python 中使用 Sets Insert Delete Get Random O(1) 顺序算法的工作

c++ - 对于非常小的表(通常<10个项目)的高性能表结构,一旦创建表就不会改变?

algorithm - 节点的最优物理排序

java - LocalCache Guava ,优化更高的吞吐量

java - 如何将 Java Stream 转换为 Scala 数组?

java - 是否有任何工具使用 hamcrest Factory 注释?

java - 数组中的给定元素找到等于目标值的组合