微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

两个字符串的编辑距离总是等于它们子字符串的编辑距离吗?

如何解决两个字符串的编辑距离总是等于它们子字符串的编辑距离吗?

假设我们有两个字符串:

  1. ccttgg
  2. gacgct

这两个字符串的编辑距离为6。

可能的子串是:

  1. cctt--
  2. gacg--

他们的编辑距离是 4。

与原始两个字符串相等的其余部分是:

  1. ----gg
  2. ----ct

并且它们的编辑距离为 2。

所以4+2=6,就是原来的编辑距离。

这种假设总是正确的吗?

如果不是,有没有办法使用子串的编辑距离来计算两个字符串之间的编辑距离?


编辑:为了更清楚,我对编辑距离的定义是 Levenshtein 距离,如果字符不同,插入、删除和替换的成本为 1,如果字符相同,则为 0。 我考虑换位的 damerau 距离。

解决方法

没有

反例

考虑字符串:

  1. 阿巴
  2. 宝贝

通过从前面删除“a”并在末尾添加“b”,它们的编辑距离为 2。

如果这些被分解成子串,例如

  1. ab,一个
  2. ba,b

那么第一个子串的编辑距离为 2,第二个子串的编辑距离为 1,总共为 3。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。