首页 > 代码库 > 简单线性动态规划 —— 编辑距离

简单线性动态规划 —— 编辑距离


可用滚动数组压缩空间,略


if s[i] = t[j] then
    dp[i, j] := dp[i-1, j-1]          // no operation required
else
    dp[i, j] := min(
                         dp[i-1, j] + 1,     // a deletion
                         dp[i, j-1] + 1,     // an insertion
                         dp[i-1, j-1] + 1  // a substitution
                     )



加权的情况:


dp[i][j] := min( dp[i - 1][j] + delCost, min( dp[i][j - 1] + delCost, dp[i - 1][j - 1] + changeCost ) )

简单线性动态规划 —— 编辑距离