Levenshtein算法
来源:互联网 发布:dnf阿里云搭建 编辑:程序博客网 时间:2024/04/30 20:15
using namespacestd;
int levenshtein(string str1,string str2);
void main(){
string str1,str2;
cout<<"please input a string str1:"<<endl;
cin>>str1;
cout<<"please input a string str2:"<<endl;
cin>>str2;
cout<<"change from str1 to str2 needs: "<<levenshtein(str1,str2)<<endl;
}
int levenshtein(string str1,string str2){
int n = str1.size();
int m = str2.size();
if ( n == 0)
return m;
if ( m == 0)
return n;
int **Arr = (int**)malloc( (m+1)*sizeof(int*) );
for (int i=0;i<=m;i++)
Arr[i] = (int*)malloc( (n+1)*sizeof(int) );
int cost = 0;
for(int i=0;i<=n;i++)
Arr[0][i] = i;
for(int j=0;j<=m;j++)
Arr[j][0] = j;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
if (str1[i-1] == str2[j-1])
cost = 0;
else
cost = 1;
Arr[j][i] = Arr[j-1][i]+1<Arr[j][i-1]+1?Arr[j-1][i]+1:Arr[j][i-1] +1 ;
Arr[j][i] = Arr[j][i]<Arr[j-1][i-1]+cost?Arr[j][i]:Arr[j-1][i-1]+cost;
}
int nEdit = Arr[m][n];
for(int i=0;i<=m;i++)
free(Arr[i]);
free(Arr);
return nEdit;
}
0 0
- Levenshtein算法
- Levenshtein算法
- Levenshtein算法
- Levenshtein Distance 算法
- Levenshtein Distance 算法
- Levenshtein 算法小记
- Levenshtein 距离算法
- 编辑距离(levenshtein)算法
- Levenshtein距离算法详解
- Levenshtein 算法c语言实现
- 编辑距离算法 Levenshtein Distance
- 字符串相似度Levenshtein算法
- 超酷算法:Levenshtein自动机
- levenshtein字符串编辑距离算法
- 编辑距离算法(Levenshtein distance)
- Levenshtein
- 字符串相似度算法(Levenshtein Distance)
- 计算字符串相似度算法 Levenshtein
- 用myeclipse创建maven项目时,生成的项目名中总是包含Maven Webapp的问题
- Spring MVC 菜鸟教程 6 GET,POST,PUT,DELETE
- 简单几句CSS代码,就可以把网站变成黑白色
- ==和equals方法的区别
- flask扩展模块flask-sqlachemy 的使用---mysql数据库
- Levenshtein算法
- 中科燕园gis兼职团队 祝大家2017年工作顺利 万事如意
- POJ 1836 Alignment DP LIS
- hibernate知识点总结
- Linux下C++编译出错原因解析
- 九宫格C
- flask蓝图的使用
- [BZOJ1391][Ceoi2008]order(最小割)
- BZOJ 1084: [SCOI2005]最大子矩阵 DP