我有很多短字符串,并在它们上面有一个自定义的距离函数(比如说Damerau–Levenshtein距离)。
问:,根据自定义距离从池中获取前N个字符串的最新解决方案是什么?
我正在寻找解决该问题的理论方法以及编码实现(Java,Python等)。
答案 0 :(得分:0)
直接方法是迭代所有字符串,计算每个字符串的距离,并在迭代时仅保留最佳N。
如果您需要大量执行此任务,则应考虑是否可以针对成本进行上限/下限估算,这些估算可以比实际成本函数更快地计算出来。例如。为您的字符串预先计算所有n克(例如3克)。或者比较长度差已经可以给出距离的下限。则可以跳过所有下界距离高于当前第n个最佳匹配距离的字符串的距离计算。