python 编辑距离_python实现编辑距离edit distance
1.定义理解
edit distance——指两个字符串之间,一个转为另一个的最小编辑次数(方式有:插入/删除/替换)
若edit distance越小,则字符串之间的相似度越高。
例1:
输入: word1 = "horse", word2 = "ros"
输出: 3
解释:
horse -> rorse (将 'h' 替换为 'r')
rorse -> rose (删除 'r')
rose -> ros (删除 'e')
例2:
输入: word1 = "intention", word2 = "execution"
输出: 5
解释:
intention -> inention (删除 't')
inention -> enention (将 'i' 替换为 'e')
enention -> exention (将 'n' 替换为 'x')
exention -> exection (将 'n' 替换为 'c')
exection -> execution (插入 'u')
2. python实现
# -*- coding: utf8 -*-
def ld(str1, str2):
m, n = len(str1) + 1, len(str2) + 1
# 初始化矩阵
matrix = [[0] * n for i in range(m)]
matrix[0][0] = 0
for i in range(1, m):
matrix[i][0] = matrix[i - 1][0] + 1
for j in range(1, n):
matrix[0][j] = matrix[0][j - 1] + 1
# 动态规划计算ld值
for i in range(1, m):
for j in range(1, n):
if str1[i - 1] == str2[j - 1]:
matrix[i][j] = matrix[i - 1][j - 1]
else:
matrix[i][j] = min(matrix[i - 1][j - 1], matrix[i - 1][j], matrix[i][j - 1]) + 1
return matrix[m - 1][j - 1]
str1 = 'GAATTCAGTTA'
str2 = 'GGATCGA'
print(ld(str1, str2))
python 编辑距离_python实现编辑距离edit distance相关推荐
- 编辑距离(Edit Distance) 一文读懂(Python实现)
在NLP任务中经常会碰到比较两个字符串的相似度,比如拼写纠错和指代判断.用户很可能在搜索时输入错别字,比如"微信"输成了"为信",但是搜索引擎返回的结果纠正为& ...
- Edit Distance编辑距离(NM tag)- sam/bam格式解读进阶
sam格式很精炼,几乎包含了比对的所有信息,我们平常用到的信息很少,但特殊情况下,我们会用到一些较为生僻的信息,关于这些信息sam官方文档的介绍比较精简,直接看估计很难看懂. 今天要介绍的是如何通过b ...
- 编辑距离算法(Edit Distance)
目录 一.概念 二.算法过程 三.举例说明 四.Python实现 1. 递归方式 2. 动态规划 3. Jupyter Notebook 步骤分解 一.概念 编辑距离的作用主要是用来比较两个字符串的相 ...
- 字符串编辑距离(Edit Distance)
一.问题描述 定义 字符串编辑距离(Edit Distance),是俄罗斯科学家 Vladimir Levenshtein 在 1965 年提出的概念,又称 Levenshtein 距离,是指两个字符 ...
- 详解编辑距离(Edit Distance)及其代码实现
概述 编辑距离(Minimum Edit Distance,MED),由俄罗斯科学家 Vladimir Levenshtein 在1965年提出,也因此而得名 Levenshtein Distance ...
- mysql 编辑距离 搜索_最小编辑距离(Minimum Edit Distance)
最小编辑距离 1)定义 编辑距离(Minimum Edit Distance,MED),又称Levenshtein距离,是指两个字符串之间,由一个转成另一个所需要的最少编辑操作次数.允许的编辑操作包括 ...
- stanford NLP学习笔记3:最小编辑距离(Minimum Edit Distance)
I. 最小编辑距离的定义 最小编辑距离旨在定义两个字符串之间的相似度(word similarity).定义相似度可以用于拼写纠错,计算生物学上的序列比对,机器翻译,信息提取,语音识别等. 编辑距离就 ...
- Minimum edit distance(levenshtein distance)(最小编辑距离)初探
最小编辑距离的定义:编辑距离(Edit Distance),又称Levenshtein距离.是指两个字串之间,由一个转成还有一个所需的最少编辑操作次数.许可的编辑操作包含将一个字符替换成还有一个字符. ...
- [LeetCode] One Edit Distance 一个编辑距离
Given two strings S and T, determine if they are both one edit distance apart. 这道题是之前那道Edit Distance ...
最新文章
- Vue.js slots: 为什么你需要它们?
- 自动化测试(二) 单元测试junit的Test注解突然不能使用原因以及解决方案
- 用thinkphp进行微信开发的整体设计思考
- leetcode 343. 整数拆分(Integer Break)
- java 反射 ppt_Java反射的基本使用
- MySQL 笔记7 -- 权限操作与视图
- 流程图绘制技巧及实战案例
- AM,DSB,SSB,FM信号调制matlab
- python目标跟踪精度曲线图_Python+opencv3.4+Kalman滤波在视频中跟踪绘制运动目标,Pythonopencv34kalman,卡尔曼滤波,实现,物体,追踪,和,轨迹...
- Oracle发布更新使数据库性能优化达到75%
- LeetCode 1217. 玩筹码(脑筋急转弯)
- 如何在Ubuntu中使用root账号登录(新增Ubuntu12.04/14.04)?
- h.264并行解码算法分析
- Fixjs——显示基类DisplayObject
- postgresql 索引使用参考
- Java第六次作业--异常处理和Java类集
- 重学计算机组成原理(五)- 旋转跳跃的指令实现
- 数字图像处理学习总结(1):灰度变换与空间滤波
- 简单五子棋游戏c语言简单,C语言制作简单五子棋游戏
- 如何将IE 11 改为 IE 8
热门文章
- php做姓名隐藏,PHP只显示姓名首尾字符,隐藏中间字符并用*替换
- linux中info功能是什么意思,Linux中的info指令
- java properties $_Java读取Properties文件的六种方法
- slf4j + log4j2配置日志引擎
- mysql 视图报错_MySQL使用Union创建视图报错
- lq分解的matlab语言,MATLAB-语言及其应用.ppt
- centos7系统引导自动重启_分享一个实用的脚本——全自动一键批量性安装Linux系统...
- ideahtml里面没有提示_抖音上爆火的苹果充电提示音,安卓手机也可以设置了!!...
- su linux pe,Monikielisyys perusopetuksen opetussuunnitelman perusteissa
- netcore5开发Android,那些鼓吹国内首个.NET 5框架的,该醒醒了!