如何找到两个相似的字符串?

3

我有n个字符串,想要找到最接近的一对。

什么是最快实用的算法来找到这一对?


你的数据集有10万个字符串,你会有新的查询到达吗?或者你会使用数据集中的一个字符串作为一个查询吗? - gsamaras
对于给定的100k个字符串输入,我想要一个答案,即一对比所有其他字符串更接近的字符串。 - Simd
1个回答

1

这篇论文 "Hamming度量下的最近对问题",作者Min、Kao、Zhu,看起来是你在寻找的内容,它适用于查找单个最近对。

对于你的情况,其中 n0.294 < D < n,其中 D 是你的数据维数(1000),n 是数据集大小,该算法的运行时间为 O(n1.843 D0.533)。


从摘要来看,他们给出的一个实际算法的复杂度似乎是O(n^2 D/log^2 D)。另一个算法在我看来完全不切实际。 - Simd
那个算法的复杂度是O(n^1.843 D^0.533),这不是那篇论文中完全不切实际的算法之一吗? - Simd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接