【问题标题】:Reverse Levenshtein distance反向 Levenshtein 距离
【发布时间】:2013-11-27 10:13:11
【问题描述】:

在 levenshtein distance 中,你问这个问题,给定这两个字符串,它们的 levenshtein 距离是多少。您将如何获取一个字符串和一个 levenshtein 距离并生成该 levenshtein 距离内的所有字符串。 (它也需要一个字符集)。因此,如果我传入一个字符串 x 和一个距离 d。然后它会给我该编辑距离内的所有字符串,包括 d-1 和 d-2....d-n; (n

预期功能:

>>> getWithinDistance('apple',2,{'a','b',' '})
['applea','appleb','appel','app le'...]

请注意,该程序能够生成app le,因为字符集中包含空格。

【问题讨论】:

  • 我尝试将随机字符添加到随机位置,但它不起作用..
  • 这个问题应该得到更多的投票,这是一个有趣的不重复的问题。

标签: python levenshtein-distance


【解决方案1】:

有一个数据结构称为Levenshtein automaton。你从一组字符串(可能只有一个成员)和一个固定的距离k构造它,然后你可以查询它以查找距离最多为k的所有字符串它存储的任何字符串。讨论了一个 Python 实现here

或者,您可以使用回溯对此类字符串进行深度限制搜索。

【讨论】:

  • @AnshumanDwibhashi:发布了一个讨论实现的博客文章的链接。
  • 该网站似乎有一些错误,当我尝试代码时,它说 NFA 无法识别
猜你喜欢
  • 2014-04-14
  • 2014-08-04
  • 2015-01-28
  • 2014-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-05
相关资源
最近更新 更多