编程之战 第二百一五章 最短编辑距离

小说:编程之战 作者:程序小猿 更新时间:2024-08-06 08:41:20 源网站:顶点小说
  听到经理的解释,杨成联想起了一个经典问题——求字符串的最短编辑距离。

  这个所谓编辑,就是新增字符,修改字符,删除字符三种操作。

  假如有a和b两个字符串,该怎么求它们之间的距离呢?

  首先应该明确一点,这个距离是有限的。

  就算a和b再长,他们的距离不会超过a,b的长度之和。

  然后,就开始考虑如何把这个问题转换为规模较小的子问题吧!

  如果a和b的第一个字符相同,那么第一个字符我们就不管了。

  直接计算a第二个及以后字符组成的子串,和b第二个及以后字符组成的子串,它们之间的距离。

  假设a为“man”,b为“made”。

  它们第一个字符相同,那就去掉“m”,计算“an”和“ade”之间的距离。

  而如果a和b的第一个字符不相同,那么我们就分别进行6个操作来尝试。

  1.删除a第一个字符,计算a剩下的与b的距离。

  2.删除b第一个字符,计算a和b剩下的距离。

  3.修改a第一个字符,使之与b第一个字符相同,再计算a和b的距离。

  4.修改b第一个字符,使之与a第一个字符相同,再计算a和b的距离。

  5.新增a的第一个字符到b前面,再计算a和b的距离。

  6.新增b的第一个字符到a前面,再计算a和b的距离。

  这6个操作所得到的距离中,最短的加上1,就是最短编辑距离。

  根据这样的思路,很快就可以完成一个递归程序。
为更好的阅读体验,本站章节内容基于百度转码进行转码展示,如有问题请您到源站阅读, 转码声明
八零电子书邀请您进入最专业的小说搜索网站阅读编程之战,编程之战最新章节,编程之战 顶点小说!
可以使用回车、←→快捷键阅读
本站根据您的指令搜索各大小说站得到的链接列表,与本站立场无关
如果版权人认为在本站放置您的作品有损您的利益,请发邮件至,本站确认后将会立即删除。
Copyright©2018 八零电子书