如何找到字符串和语言之间的编辑距离/ levenshtein距离?

时间:2019-12-11 02:28:08

标签: algorithm dynamic-programming levenshtein-distance edit-distance

字符串x与语言S的编辑距离是x与“最近”字符串y∈S的编辑距离。给定字符串x∈{0,1,...,9,(,),+ ,-,*,/} *,我想找到一种有效的算法来计算x与简单算术表达式的语言之间的编辑距离。我认为我必须像在经典的编辑距离问题中一样使用动态编程,但是在这种情况下,我不知道第二个字符串要与第一个字符串进行比较。我应该以某种方式使用语言限制吗?构造语法图或语法树?谢谢。

P.S .:简单算术表达式的语言S定义为:

  • 作为正则表达式{1 | 2 | ... | 9} {0 | 1 | 2 | ... | 9} * |的每个字符串0属于S
  • 如果x∈S则(x)∈S
  • 如果x,y∈S,则x + y,x-y,x * y,x / y∈S

0 个答案:

没有答案
相关问题