个人觉得只要你能明白edit数组的含义就可以理解状态转移方程了。
/*
可以用来表示字符串的相似度?
*/
#include <bits/stdc++.h>
using namespace std;
int edit[100][100] ;//edit(i,j)表示从 A的前i个字符 转化成 B的前j个字符所需的操作次数
int str_equal(char &a,char &b){ //判断两个字符是否相等,相等返回0,否则返回1return 1^(a==b);
}int Levenshtein(char *a, char *b ,int al,int bl){ //返回两个字符串的最短编辑距离memset(edit , 0 , sizeof edit);edit[0][0] = 0 ;for (int i = 1 ; i <= al ;i++)edit[i][0] = i;for (int j = 1 ; j <= bl ;++j)edit[0][j] = j;for (int i = 1 ; i <= al ; ++i)for (int j = 1 ; j <= bl ;++j){edit[i][j] = min(min( edit[i][j-1]+1 , edit[i-1][j]+1 ) , edit[i-1][j-1]+str_equal(a[i-1],b[j-1]));//edit(i,j)可由三种状态转变来//cout<<"i j "<<i<<"-"<<j<<" "<<edit[i][j]<<endl ;}return edit[al][bl] ;}int main (){char a[] = "fxpimu" ;char b[] = "xwrs" ;//char d='d',e='d';//cout<<str_equal(d,e);cout<<Levenshtein(a,b,6,4);return 0;
}

最短编辑距离问题 : Levenshtein Distance相关推荐

  1. 莱文斯坦距离(编辑距离)算法 (Levenshtein Distance Algorithm)

    什么是 莱文斯坦距离算法 (Levenshtein Distance Algorithm) ? Levenshtein Distance,莱文斯坦距离,通常被称为编辑距离(Edit Distance) ...

  2. 一文详解编辑距离(Levenshtein Distance)

    更多博文请关注:https://blog.bigcoder.cn 一. 什么是Levenshtein Distance Levenshtein Distance,一般称为编辑距离(Edit Dista ...

  3. 详解编辑距离算法-Levenshtein Distance

    目录 •写在前面 •什么是编辑距离? •思路 •思路可视化 •代码实现 •写在前面 编辑距离算法被数据科学家广泛应用,是用作机器翻译和语音识别评价标准的基本算法.最简单的方法是检查所有可能的编辑序列, ...

  4. java实现编辑距离算法(levenshtein distance),计算字符串或者是文本之间的相似度【附代码】

    编辑距离算法其实就是,在规定的编辑操作(替换字符串.插入字符串.删除字符串)中,经过几步可以把一个字符串变成另一个字符串,而这个所需的步数就是你的编辑距离. 测试样例: str1 = abc str2 ...

  5. Levenshtein Distance编辑距离应用实践——拼写检查(Java fork/join框架实现)

    文章目录 1. 实现莱文斯坦距离算法 1.1 算法原理分析 1.2 代码实现 2. 使用fork/join进行匹配 2.1 单线程匹配 2.2 fork/join多线程匹配 2.3 传统多线程版本 2 ...

  6. Levenshtein distance 编辑距离算法

    这几天再看 virtrual-dom,关于两个列表的对比,讲到了 Levenshtein distance 距离,周末抽空做一下总结. Levenshtein Distance 介绍 在信息理论和计算 ...

  7. Levenshtein distance最小编辑距离算法实现

    Levenshtein distance,中文名为最小编辑距离,其目的是找出两个字符串之间需要改动多少个字符后变成一致.该算法使用了动态规划的算法策略,该问题具备最优子结构,最小编辑距离包含子最小编辑 ...

  8. Levenshtein Distance算法(编辑距离算法)

    编辑距离 编辑距离(Edit Distance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数.许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符, ...

  9. Minimum edit distance(levenshtein distance)(最小编辑距离)初探

    最小编辑距离的定义:编辑距离(Edit Distance),又称Levenshtein距离.是指两个字串之间,由一个转成还有一个所需的最少编辑操作次数.许可的编辑操作包含将一个字符替换成还有一个字符. ...

最新文章

  1. QCon演讲| 从团伙到团队,PingCode研发团队敏捷实践血泪史
  2. 中山网络推广浅析网站优化在选择关键词时需要掌握的关键性原则是什么?
  3. python正则re
  4. Node.js 应用故障排查手册 —— Node.js 性能平台使用指南
  5. mysql sqldump_mysql sqldump 备份
  6. 重量级 | 重量级!Maven史上最全教程,看了必懂
  7. Linux 关于解压
  8. python是干什么用的-python中upper是做什么用的
  9. Android主板串口线接法,9针rs232串口接线图以及接线方法
  10. PCA主成分分析去噪与降维
  11. 23种设计模式用英语如何表达?
  12. 排列组合(组合C语言实现)
  13. 神技 破解EXCEL工作表保护密码
  14. 【数据库基础】正则化(Normalization)P1:UNF、1NF、2NF、3NF
  15. 数据分析常用名称、统计分析模型 SUS、CLV、VOC、认知失调、 体验度量
  16. 投影仪硬件边缘融合服务器,带你了解投影融合的边缘融合显示技术
  17. pycharm执行python时,如何填写参数
  18. python爬取哔哩哔哩网页弹幕内容,并将爬取的内容以五角星的形式显示出来
  19. Redis专题之10、第10篇:Redis主从复制
  20. Vue笔记18_插槽slot

热门文章

  1. linux红帽子版本安装报告,红帽子RedHat Linux 9.0安装图解(图c
  2. ubuntu下ZED相机开发环境安装
  3. 一览R基础包的六个高级绘图函数(盒型boxplot|条形barplot|直方hist|饼pie|dotchart|coplot)...
  4. 无代码绘制基因表达箱线图
  5. 带你全面了解真正的CleanMyMac,CleanMyMac使用说明
  6. mysql共享锁使用方法_浅谈Mysql共享锁、排他锁、悲观锁、乐观锁及其使用场景...
  7. NOI数据结构:最小树形图
  8. php把时间戳转换成多少时间之前函数
  9. mac php7.0 yaf 安装,MAC MAMP PRO PHP YAF 安装
  10. jquery 获取索引值在一定范围的列表