最小编辑距离问题(Edition Distance)

本文探讨了如何计算两个字符串之间的最小编辑距离,作为虚拟DOM的预备知识。介绍了通过LevenshteinDistance算法,利用替换、插入和删除操作,采用动态规划避免递归时的重复计算,达到O(M*N)的时间复杂度。
摘要由CSDN通过智能技术生成

注:这篇博客讨论的算法是怎样求解两个字符串的最小编辑距离,其目的是为了下一篇的虚拟DOM,来做一个预备工作,这里主要讨论的用 LevenshteinDistance ,主要通过的是动态规划。

什么是最小编辑距离:

给定一个长度为m和n的两个字符串,设有以下几种操作:替换(R),插入(I)和删除(D)且都是相同的操作。寻找到转换一个字符串插入到另一个需要修改的最小(操作)数量。这个数量就可以被视为最小编辑距离。如:acd与ace的 EditionDistance 距离为1,abc与cab的距离为1。

递归实现:

我们来讨论一下情况:
A[i] B[i] 相等时,我们只需要比较其 A[i+1...len] B[i+1...len]
A[i] B[i] 不等时,我们可以做如下操作:
1. 在 A[i+1] 增加一个字符,从而比较 A[i.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值