编辑距离及编辑距离算法
来源:互联网 发布:软件研发的特点 编辑:程序博客网 时间:2024/05/16 05:40
编辑距离概念描述:编辑距离,又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。
例如将kitten一字转成sitting:
sitten (k→s)
sittin (e→i)
sitting (→g)
俄罗斯科学家Vladimir Levenshtein在1965年提出这个概念。
问题:找出字符串的编辑距离,即把一个字符串s1最少经过多少步操作变成编程字符串s2,操作有三种,添加一个字符,删除一个字符,修改一个字符
思路:动态规划
edit(i, j):它表示第一个字符串的长度为i的子串到第二
个字符串的长度为j的子串的编辑距离。
状态转移方程:
edit(i, j) == min{ edit(i-1, j) + 1, edit(i, j-1) + 1, edit(i-1, j-1) +(s[i]==s[j]?0:1) },i>0,j>0最后表示末尾字符是否相等
边界情况:
if i == 0 且 j == 0,edit(i, j) = 0
if i == 0 且 j > 0,edit(i, j) = j
if i > 0 且j == 0,edit(i, j) = i
0 0
- 编辑距离及编辑距离算法
- 编辑距离及编辑距离算法
- 编辑距离及编辑距离算法
- 编辑距离及编辑距离算法
- 编辑距离及编辑距离算法
- 编辑距离及编辑距离算法
- 编辑距离及编辑距离算法
- 编辑距离及编辑距离算法
- 编辑距离及编辑距离算法
- 编辑距离及编辑距离算法
- 编辑距离及编辑距离算法 | Levenshtein距离 |DP
- 编辑距离与编辑算法
- 编辑距离算法-java
- 编辑距离算法
- 编辑距离算法实现
- 编辑距离算法
- [算法]计算编辑距离
- 字符串编辑距离算法
- leetcode-242. Valid Anagram
- Spring学习
- Android中Intent组件详解
- eclipse中项目复制后发布出现问题
- java接口
- 编辑距离及编辑距离算法
- [Nutch]Nutch抓取过程分析
- 初识服务器
- 棋盘覆盖问题
- edit 焦点问题
- 隐藏UITableView的滚动条以及修改滚动条的颜色
- 一个对象绕某个轴旋转,朝向另一个对象(在旋转瞄准过程中只沿着y轴旋转)
- 12 papers to understand QA system with Deep Learning
- Java实现大数运算